[Rd] Inconsistency with matrix indexing (PR#8214)

stefan.albrecht@allianz.com stefan.albrecht at allianz.com
Tue Oct 18 14:21:41 CEST 2005


Full_Name: Stefan Albrecht
Version: 2.2.0
OS: Windows XP
Submission from: (NULL) (194.127.2.74)


Dear all,

in the new R 2.2.0, the matrix indexing has been changed. In my opinion, this
leads to an inconsistency when indexing one-row matrices.
Take
> (mat <- matrix(1:9, nrow = 3, dimnames = list(paste("r", 1:3, sep = ""),
paste("c", 1:3, sep = ""))))
   c1 c2 c3
r1  1  4  7
r2  2  5  8
r3  3  6  9

Now taking the first row of the first-row of mat preserves the column names
> mat[1, , drop = FALSE][1, ]
c1 c2 c3 
 1  4  7 

This is not true for the first column of the first-row of mat
> mat[1, , drop = FALSE][, 1]
[1] 1

However, for the first column of the first two rows of mat the row names are
retained
> mat[1:2, , drop = FALSE][, 1]
r1 r2 
 1  2 

This feature can lead to problems when indexing matrixes of different row
numbers, since the row names are not preserved in all cases.

I suggest to preseve the row names also for 
> mat[1, , drop = FALSE][, 1]

Would it be possible to implement this feature? Many thanks.

With best regards,

Stefan Albrecht



More information about the R-devel mailing list