[R] Indexing column of a matrix with infix $

Roger D. Peng rpeng at jhsph.edu
Sat May 8 18:23:18 CEST 2004


You can access a column of a dataframe using $ but not a matrix. 
    That's just how it is.  You can access a column of a matrix 
via its column name using, for example

 > m <- matrix(1:12, 4, 3)
 > colnames(m) <- c("a", "b", "c")
 > m[, "b"]
[1] 5 6 7 8

-roger

chris1 wrote:
> I'm using 1.9.0 on Windoze 2k and I created a numeric matrix and used
> colnames() to give it some column names, but if I try to select a
> column using matrixname$validname I get a null return but if I use
> matrixname[,4] it works fine.  Looking at the help I think this is
> because a matrix is not a recursive structure and I think it's saying
> I shouldn't be surprised nor attempt this.
> 
> I'm in the process of transferring all my stats work to R having used
> a mixture of SPSS, S and SAS (and snippets of other things) over the
> years so sorry if I'm being dumb but this surprised me and I'd love a
> kindly explanation as I thought indexing a matrix in this way was
> something I did regularly (I think the last time was actually using it
> on a dataframe though) and I also think it would be useful and produce
> more readable code if I could.
> 
> Can some kindly soul explain?
> 
> TIA,
> 
> Chris
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>




More information about the R-help mailing list