[R] [SOLVED] Accessing named members of a list in an array
Duncan Murdoch
murdoch.duncan at gmail.com
Mon Jul 2 03:15:50 CEST 2012
On 12-07-01 12:01 PM, mlell08 wrote:
>
> After all, it seems a bit unlogical to me, because
> 1) c(a=2, b=3)$a works as expected
I'm curious about this: I get an error. I expected an error, so it
worked as expected for me, but I think from the context that I deleted
that you didn't expect one. Did you really not get one?
>
> 2) I've created a matrix containing lists and not atomic vectors by
> a<- array(list(NULL),dim=c(2,2))
> however, my added element seems to be converted to an atomic vector
> - without need because
>
> 3) I avoided vectorization (thanks for the link to R inferno! Very apt
> comparison;-)) by using the [[ operator for assignment
> (which seemed to work because else more than one matrix element
> would have been filled) so there should be no need for dropping names
> (which actually doesn't happen, because a[[1,1]]["a"] works
>
> but if the operator [[<- works like this, there is no point in argueing?
>
> So - what works:
>
> a<- array(list(NULL),dim=c(2,2))
> a[[1,1]]<- c(a=2,b=3)
> a[[1,1]]
> ## a b
> ## 2 3
>
> a[[1,1]]$a
> ## Fehler in a[[1, 1]]$a : $ operator is invalid for atomic vectors
This is the error I get in 1).
>
> #Synonym??
> a[[1,1]][["a",exact=FALSE]]
> ## 2
That's not a synonym.
Duncan Murdoch
>
> a[[1,1]]["a"]
> ## a
> ## 2
>
> class(a[[1,1]])<- "list"
> a[[1,1]]$a
> ## 2
>
> Regards, Moritz
>
More information about the R-help
mailing list