[R] Accessing named members of a list in an array

David Winsemius dwinsemius at comcast.net
Sat Jun 30 18:04:08 CEST 2012


On Jun 30, 2012, at 9:35 AM, mlell08 wrote:

> Dear List,
>
> I've created a two-dimensional array which shall contain a value and  
> its
> error, respectively.
> These two values are concatenated in al list and bear the names "sl"  
> and
> "sl_err"
>
> But I can't adress them using the $-notation.
>
> a<- array(list(NULL),dim=c(2,2))
> a[[1,1]]<- c(a=2,b=3)
> a[[1,1]]$a
> ## Fehler in a[[1, 1]]$a : $ operator is invalid for atomic vectors
> a[[1,1]]["a"]       # This works however.
> ## a
> ## 2
>
> I always thought these two methods of indexing are equal?

You thought wrong (on two accounts as it happens). The "$" methods  
translate to "[[" with a quoted argument and there is no matrix/array   
equivalent since vectors loose their names (if they had any to begin  
with) when they are put into a matrix or array. The equivalent method  
to x$a is x[["a"]], not x["a"].

> Is there any
> way to use the $-Style indexing?
>
> Thank you,
> Moritz
>
> -- 
> GnuPG Key: 0x7340821E
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list