From: Duncan Murdoch <murdoch.duncan_at_gmail.com>

Date: Sat, 26 Jun 2010 09:07:58 -0400

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. Received on Sat 26 Jun 2010 - 13:11:08 GMT

Date: Sat, 26 Jun 2010 09:07:58 -0400

Jim Hargreaves wrote:

> Hi Duncan, list,

*>
**> Thanks for the advice, but unfortunately that wasn't what was causing my
**> problem. I'm still getting the "Recursive indexing failed at level 2"
**> message even after replacing my unlist(pulse[i]) with pulse[[i]].
**>
*

Read the second part of my first message, which explains the error. You had two errors in the original expression, and have only fixed one.

Duncan Murdoch

> Error:

*>
**> >
**> pulse_subset[[1:as.numeric(length(pulse[[i]][as.numeric(peak_start[i]):as.numeric(peak_end[i])]))]]
**> <- pulse[[i]][as.numeric(peak_start[i]):as.numeric(peak_end[i])]
**> Error in
**> pulse_subset[[1:as.numeric(length(pulse[[i]][as.numeric(peak_start[i]):as.numeric(peak_end[i])]))]]
**> <- pulse[[i]][as.numeric(peak_start[i]):as.numeric(peak_end[i])] :
**> recursive indexing failed at level 2
**>
**> It's almost as if the length of pulse[[i]] is too small, but it's length
**> is 1001 and peak_start[i] and peak_end[i] are 192 and 208 respectively.
**>
**> Also why would the problem crop up only after 200,000 runs?
**>
**> Bizarre!
**>
**> Regards,
**> Jim Hargreaves
**>
**>
**>
**> On 06/26/2010 01:38 PM, Duncan Murdoch wrote:
**>
**>> On 26/06/2010 8:29 AM, Jim Hargreaves wrote:
**>>
**>>> On 06/26/2010 01:20 PM, Duncan Murdoch wrote:
**>>>
**>>>> On 26/06/2010 7:53 AM, Jim Hargreaves wrote:
**>>>>
**>>>>> Dear fellow R users,
**>>>>>
**>>>>> I am replacing elements of a list like so:
**>>>>>
**>>>>> pulse_subset[[1:20]]=unlist(pulse[i])[1:20]
**>>>>>
**>>>> If pulse is a list, then pulse[i] is also a list, with one element.
**>>>> I think you want pulse[[i]], which extracts element i.
**>>>>
**>>> Ahh, I specified pulse[i] has >20 values in my original mail.
**>>>
**>> But that could not be correct. Take a look at length(pulse[i]).
**>> Assuming that i is a scalar value, length(pulse[i]) will be 1. You
**>> really do want pulse[[i]]. You used unlist(pulse[i]) which is
**>> sometimes the same as pulse[[i]], but it really depends on what
**>> pulse[[i]] is. unlist() is a very crude tool, and you should avoid it
**>> unless you really need it.
**>>
**>>
**>>
**>>> Basically pulse is a list 1000 elements long, with each element in
**>>> pulse having between 1000 and 2000 elements of it's own. Pulse is a
**>>> list of lists. Also as far as I am aware, [[ ]]'s should only be
**>>> used when assigning values to elements of a list/vector.
**>>>
**>> Whoever told you that was mistaken.
**>>
**>> Duncan Murdoch
**>>
**>>> unlist(pulse[1]) gives x1, x2, x3, x4, x5 etc. etc.
**>>>
**>>>> If pulse_subset is a list, then pulse_subset[[1:20]] is equivalent
**>>>> to pulse_subset[[1]][[2]][[3]][[4]] ... [[20]], i.e. the syntax
**>>>> implies that it is a list containing a list etc, nested 20 levels
**>>>> deep. The error message is telling you that it's not. I'm not sure
**>>>> what your intention is in this case.
**>>>> Duncan Murdoch
**>>>>
**>>>>> where pulse is a list of lists, and pulse [i] has >20 values.
**>>>>>
**>>>>> This gives the error "Recursive Indexing failed at level 2". But,
**>>>>> interestingly this instruction is part of a loop which has gone
**>>>>> through about 200,000 iterations before giving this error.
**>>>>>
**>>>>> Actual code:
**>>>>>
**>>>>> pulse_subset[[1:(length(unlist(pulse[i])[as.numeric(peak_start[i]):as.numeric(peak_end[i])]))]]
**>>>>> <- unlist(pulse[i])[as.numeric(peak_start[i]):as.numeric(peak_end[i])]
**>>>>>
**>>>>> Error in
**>>>>> pulse_subset[[1:(length(unlist(pulse[i])[as.numeric(peak_start[i]):as.numeric(peak_end[i])]))]]
**>>>>> <-
**>>>>> unlist(pulse[i])[as.numeric(peak_start[i]):as.numeric(peak_end[i])] :
**>>>>> recursive indexing failed at level 2
**>>>>>
**>>>>> If anyone could shed some light I'd be rather grateful.
**>>>>>
**>>>>> Regards,
**>>>>> Jim Hargreaves
**>>>>>
**>>>>> ______________________________________________
**>>>>> 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.
**>>>>>
**>>> ______________________________________________
**>>> 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.
**>>>
**>
**> ______________________________________________
**> 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.
**>
*

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. Received on Sat 26 Jun 2010 - 13:11:08 GMT

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Sat 26 Jun 2010 - 13:30:38 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*