[R] Extracting elements from a list
Hi, I would love an easy way to extract elements from a list. For example, if I want the first element from each of 10 arrays stored in a list, Lst[[1:10]][1,1] seems like a logical approach, but gives this error: Error: recursive indexing failed at level 3 The following workaround is functional but can get annoying/confusing. first.element=vector() for (i in 1:10){ first.element=c(first.element, Lst[[i]][1,1]) } Is there a better way to do this? Thanks for any help! Jeff __ R-help@stat.math.ethz.ch 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.
Re: [R] Extracting elements from a list
Try sapply( Lst, function(m) m[1,1] ) Also note that to subset a list, you just need Lst[ 1:10 ] and not Lst[[ 1:10 ]] (note the double square brackets). Regards, Adai Forest Floor wrote: Hi, I would love an easy way to extract elements from a list. For example, if I want the first element from each of 10 arrays stored in a list, Lst[[1:10]][1,1] seems like a logical approach, but gives this error: Error: recursive indexing failed at level 3 The following workaround is functional but can get annoying/confusing. first.element=vector() for (i in 1:10){ first.element=c(first.element, Lst[[i]][1,1]) } Is there a better way to do this? Thanks for any help! Jeff __ R-help@stat.math.ethz.ch 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@stat.math.ethz.ch 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.
Re: [R] Extracting elements from a list
Use lapply or sapply: L - list(a = 1:4, b = 11:15) lapply(L, [[, 1) $a [1] 1 $b [1] 11 sapply(L, [[, 1) a b 1 11 Also please see last line on every r-help message regarding providing reproducible code. Lst was not defined in your post. On 7/14/07, Forest Floor [EMAIL PROTECTED] wrote: Hi, I would love an easy way to extract elements from a list. For example, if I want the first element from each of 10 arrays stored in a list, Lst[[1:10]][1,1] seems like a logical approach, but gives this error: Error: recursive indexing failed at level 3 The following workaround is functional but can get annoying/confusing. first.element=vector() for (i in 1:10){ first.element=c(first.element, Lst[[i]][1,1]) } Is there a better way to do this? Thanks for any help! Jeff __ R-help@stat.math.ethz.ch 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@stat.math.ethz.ch 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.
Re: [R] Extracting elements from a list
The golden rule is that [[ ]] only returns one element: sapply(Lst, [, 1, 1) is probably what you want. On Sat, 14 Jul 2007, 'Forest Floor' aka 'rhago' aka 'Jeff' aka 'R User confused about his identity' wrote: Hi, I would love an easy way to extract elements from a list. For example, if I want the first element from each of 10 arrays stored in a list, Lst[[1:10]][1,1] seems like a logical approach, but gives this error: Error: recursive indexing failed at level 3 It doesn't if you really have a list of 2D arrays. The following workaround is functional but can get annoying/confusing. first.element=vector() for (i in 1:10){ first.element=c(first.element, Lst[[i]][1,1]) } Is there a better way to do this? Thanks for any help! Jeff __ R-help@stat.math.ethz.ch 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. PLEASE DO! -- Brian D. Ripley, [EMAIL PROTECTED] Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UKFax: +44 1865 272595 __ R-help@stat.math.ethz.ch 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.