[R] Loss of dimensions in subsetting arrays

Marc Schwartz marc_schwartz at me.com
Fri Oct 12 17:53:44 CEST 2012


On Oct 12, 2012, at 4:52 AM, Markku Karhunen <markku.karhunen at helsinki.fi> wrote:

> 
> Hi all,
> 
> I've been wondering for a long time why R drops the dimensions of an array/matrix when you try to take a subset of one column. I mean this:
> 
> dim(A)
> [1] 2 5 2
> B=A[1,,]
> dim(B)
> 5 2 # so now dim(B)[3] doesn't work
> C=B[2,]
> dim(C)
> NULL # so now nrow(C) doesn't work
> 
> Typically, you can get rid of this by writing as.matrix, as.array(...) but that generates extra lines of code. This is really annoying. Does anybody know how to turn this behaviour off?
> 
> best,
> Markku Karhunen
> Uni. Helsinki


You can save yourself a lot of time if you visit the R FAQ as your first action item when such questions come up. In this case:

  http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-do-my-matrices-lose-dimensions_003f

Regards,

Marc Schwartz




More information about the R-help mailing list