[R] strange matrix behaviour: is there a matrix with one row?

ryszard.czerminski at novartis.com ryszard.czerminski at novartis.com
Fri Apr 7 15:16:10 CEST 2006


Consider this:

> y <- matrix(1:8, ncol=2)
> is.matrix(y[-c(1,2),])
[1] TRUE
> is.matrix(y[-c(1,2,3),])
[1] FALSE
> is.matrix(y[-c(1,2,3,4),])
[1] TRUE

It seems like an inconsistent behaviour:
- with 2 or more rows we have a matrix
- with 1 row we do not have a matrix and
- with 0 rows we have a matrix again

I just stumbled on this behaviour, because I had a problem
with my program in which I have assumed that matrix with
some rows removed is still a matrix, which seems to be mostly
true, but it is not true if only one row is left.

Comments? Suggestions?
How to work around this problem - without to many "if" statements?

Best regards,
Ryszard




More information about the R-help mailing list