[R] Accessing named members of a list in an array
Patrick Burns
pburns at pburns.seanet.com
Sun Jul 1 08:45:43 CEST 2012
Your problem is that you are trying to
use `$` on an atomic vector rather than
a list:
> a<- array(list(NULL),dim=c(2,2))
> a[[1,1]] <- c(a=2,b=3)
> a[[1,1]]$a
Error in a[[1, 1]]$a : $ operator is invalid for atomic vectors
> a[[1,1]]
a b
2 3
> a[[1,1]] <- list(a=2,b=3)
> a[[1,1]]$a
[1] 2
> a[[1,1]]
$a
[1] 2
$b
[1] 3
From the description of the problem, perhaps
it would be easier to just have a 3-dimensional
array.
Pat
On 30/06/2012 14:35, 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? Is there any
> way to use the $-Style indexing?
>
> Thank you,
> Moritz
>
--
Patrick Burns
pburns at pburns.seanet.com
twitter: @portfolioprobe
http://www.portfolioprobe.com/blog
http://www.burns-stat.com
(home of 'Some hints for the R beginner'
and 'The R Inferno')
More information about the R-help
mailing list