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

> On Thu, Aug 4, 2011 at 1:40 AM, Ashim Kapoor <ashimkap...@gmail.com>
> wrote:
> >
> >
> > 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  ?
>
> You are confusing how for loops work, please read the documentation for
> ?for
>
> The help says : -
   ‘for’, ‘while’ and ‘repeat’ return ‘NULL’ invisibly.  ‘for’ sets
     ‘var’ to the last used element of ‘seq’, or to ‘NULL’ if it was of
     length zero.

but it does not tell me how to fix my problem which is to return the values.


> >
> >>
> >> ## 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/
>

Many Thanks,
Ashim

        [[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