On Thu, Aug 4, 2011 at 1:02 PM, Joshua Wiley <jwiley.ps...@gmail.com> wrote:

> On Thu, Aug 4, 2011 at 12:12 AM, Ashim Kapoor <ashimkap...@gmail.com>
> wrote:
> >> How would we do this problem looping over seq(1:2) ?
>
> Because this goes to an email list serv, it is good practice to quote
> the original problem.  I have no idea what "this" is.
>
> >>
> >>
> > To extend the example in the corresponding nabble post : -
> >  sub1<-list(x="a",y="ab")
> >  sub2<-list(x="c",y="ad")
> >  lst<-list(sub1=sub1,sub2=sub2)
> >  for ( t in seq(1:2) )  print(lst[[t]]$y)
> >
> > So I can print out the sub1$y/sub2$y but it's not clear how to extract
> them.
>
> Well, to extract them, just drop the call to print. You could use them
> directly in the loop or could store them in new variables.
>
>
> j<- for ( t in seq(1:2) )  lst[[t]]$y
> j
NULL

Why is j NULL  ?


> ## note seq(1:2) is redundant with simply 1:2
> or (t in 1:2) print(nchar(lst[[t]]$y))
>
> I am guess, though, that what you might be hoping to do is extract
> specific elements from a list and store the extract elements in a new
> list.
>
> lapply(1:2, function(i) lst[[i]]["y"])
> ## or compare
> lapply(1:2, function(i) lst[[i]][["y"]])
>
> >
> > My original was different though.
> >
> > How would  say:-
> >
> > for ( t in seq(1:2) ) sub"t"$y
> >
> > Where sub"t" evaluates to sub1 or sub 2?
>
> if you actually want "sub1", or "sub2":
>
> ## note that I am wrapping in print() not so that it works
> ## but so that you can see it at the console
> for (t in 1:2) print(paste("sub", t, sep = ''))
>
> from which we can surmise that the following should work:
>
> for (t in 1:2) print(lst[[paste("sub", t, sep = '')]])
>
> which trivially extends to:
>
> for (t in 1:2) print(lst[[paste("sub", t, sep = '')]]$y)
>
> or perhaps more appropriately
>
> for (t in 1:2) print(lst[[paste("sub", t, sep = '')]][["y"]])
>
> If you just need to go one level down for *all* elements of your list
>
> lapply(lst, `[[`, "y")
> ## or if you are only retrieving a single value
> sapply(lst, `[[`, "y")
>
> Hope this helps,
>
>
Josh
>
> >
> > Many thanks.
> > Ashim
> >
> >
> >> On Thu, Aug 4, 2011 at 10:59 AM, Richard Ma <xuanlong...@uts.edu.au
> >wrote:
> >>
> >>> Thank you so much GlenB!
> >>>
> >>> I got it done using your method.
> >>>
> >>> I'm just curious how did you get this idea? Cause for me, this looks so
> >>> tricky....
> >>>
> >>> Cheers,
> >>> Richard
> >>>
> >>> -----
> >>> I'm a PhD student interested in Remote Sensing and R Programming.
> >>> --
> >>> View this message in context:
> >>>
> http://r.789695.n4.nabble.com/How-to-extract-sublist-from-a-list-tp3717451p3717713.html
> >>> Sent from the R help mailing list archive at Nabble.com.
> >>>
> >>> ______________________________________________
> >>> R-help@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.
> >>>
> >>
> >>
> >
> >        [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help@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.
> >
>
>
>
> --
> Joshua Wiley
> Ph.D. Student, Health Psychology
> Programmer Analyst II, ATS Statistical Consulting Group
> University of California, Los Angeles
> https://joshuawiley.com/
>

        [[alternative HTML version deleted]]

______________________________________________
R-help@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.

Reply via email to