[R] Generalized 2D list/array/whatever?

Duncan Murdoch murdoch at stats.uwo.ca
Fri Apr 24 12:50:45 CEST 2009


Toby wrote:
> I'm trying to figure out how I can get a generalized 2D
> list/array/matrix/whatever
> working.  Seems I can't figure out how to make the variables the right
> type.  I
> always seem to get some sort of error... out of bounds, wrong type, wrong
> dim, etc.
> Very confused... :)
>
> x[["some label", "some other index"]] <- 3
> x[["some other label", "something else"]] <- 4
>
> I don't know the indexes/label ahead of time... they get generated...  Any
> thoughts?
>   

What you have there is not legal syntax, but this would be:

x[[c("some label", "some other index")]] <- 3

This assumes that x is a list, and one of its entries is a list named 
"some label".  It will not create that entry, but it will create an 
entry named "some other index", so you need

if (is.null(x[["some label"]])) x[["some label"]] <- list()

first.  After executing this line and your first line above, you'll get

 > x
$`some label`
$`some label`$`some other index`
[1] 3

Duncan Murdoch




More information about the R-help mailing list