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

Duncan Murdoch murdoch at stats.uwo.ca
Tue Oct 18 14:33:09 CEST 2005


stefan.albrecht at allianz.com wrote:
> 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.

I just tried your code in R 2.0.1 and 2.1.1, and got the same output as 
you did.  Which version are you comparing to?

Duncan Murdoch


  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
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



More information about the R-devel mailing list