[R] Recursive Indexing Failed
Patrick Breheny
patrick.breheny at uky.edu
Mon May 9 15:48:56 CEST 2011
On 05/09/2011 09:24 AM, Alaios wrote:
> So the only thing that might work is a for..loop to collect all these together?
>
> Best REgards
> Alex
>
You could also use sapply:
x <- list(list(One="a",Two=c("b","c")),list(One="d",Two=c("e","f")))
sapply(x,'[[',"Two")
[,1] [,2]
[1,] "b" "e"
[2,] "c" "f"
In your example, it seems
sapply(CRagentInTime[[1]][[2]],'[[',"sr")
would work, but I am not in a position to replicate your code, as is it
not self-contained.
_______________________
Patrick Breheny
Assistant Professor
Department of Biostatistics
Department of Statistics
University of Kentucky
> --- On Mon, 5/9/11, Patrick Breheny<patrick.breheny at uky.edu> wrote:
>
>> From: Patrick Breheny<patrick.breheny at uky.edu>
>> Subject: Re: [R] Recursive Indexing Failed
>> To: "Alaios"<alaios at yahoo.com>
>> Cc: "R-help at r-project.org"<R-help at r-project.org>
>> Date: Monday, May 9, 2011, 2:18 PM
>> On 05/09/2011 08:58 AM, Alaios
>> wrote:
>>> Dear all,
>>> I would like to ask your help concerning an error
>> message I get.
>>>
>>> I have the following struct
>>>
>>> str(CRagentInTime[[1]])
>>> List of 2
>>> $ timelag: int 0
>>> $ CRagent:List of 50
>>> ..$ :List of 3
>>> .. ..$ CRmap: num [1:256, 1:256] NA NA NA
>> NA NA NA NA NA NA NA ...
>>> .. ..$ xy : num [1:2] 10
>> 177
>>> .. ..$ sr : num [1:49]
>> -94.9 -92.8 -79.5 -97.6 -78.4 ...
>>>
>>> and I wanted to select all the sr fields for every of
>> each one of the 50 CRagent Lists I have.
>>>
>>> So I tried something like
>>>
>>> str(CRagentInTime[[1]][[2]][[1:10]]$sr) and I get a
>> message that
>>> Error in CRagentInTime[[1]][[2]][[1:10]] :
>>> recursive indexing failed at level 3
>>
>> Selecting multiple elements of a list using an expression
>> like [[1:10]]
>> does not work. For example:
>>
>> x<- list("a","b")
>> x[[1:2]]
>>
>> produces
>>
>> Error in x[[1:2]] : subscript out of bounds
>>
>> In general, the expression x[[1:2]] is not meaningful, as
>> the elements
>> of the list may be of different type, with no way to
>> concatenate them.
>>
>>>
>>> strange to me is that this one works
>>>
>>> str(CRagentInTime[[1]][[2]][[1]]$sr)
>>> num [1:49] -106 -92.9 -101.3 -81.9
>> -96.7 ...
>>>
>>>
>>> I would like to thank you in advance for your help
>>> Best Regards
>>> Alex
>>>
>> _______________________
>> Patrick Breheny
>> Assistant Professor
>> Department of Biostatistics
>> Department of Statistics
>> University of Kentucky
>>
More information about the R-help
mailing list