Hello y'll, thanks a lot for your hints. The easiest solution was the one from Jim, using "[[" whose true function I did not realize fully.
About apply and the sorts: I agree that if you get them to work the are much faster and yield nice, compact code. But I have never fully understood the inner workings and I think the provided examples (even in most books) rush over them. If I use them successfully, it is - at least in my case - more the result of trial and error and this does not make them a weapon of first choice. If someone has a good hint where they are explained accessibly, please share it. Thanks again and have a great week! Best, Stefan On Fri, Jan 30, 2009 at 7:54 PM, David Winsemius <dwinsem...@comcast.net> wrote: > Perhaps this will help: > > #Data Example > gnuff<-list() > gnuff$IHD$LE<-66 > gnuff$LUNG$LE <-55 > > #This is the list, where I collect data for different diseases at the > #second level of the list > #Now I want to do calcualtions just for these two diseases and the > #sub-list "LE" within these diseases > > nam <- c("LUNG","IHD") > > for(i in nam) print(gnuff[[i]]) # use the elements of nam as the index > values > > # the lack of output from an evaluation done within the for-loop might be > one of Burns' Infernal examples. > # here's see one of my "mistakes": for(i in nam) (gnuff[[i]]) > #---returns a list--- > #$LE > #[1] 55 > > #$LE > #[1] 66 > > #--- > for(i in nam) print(gnuff[[i]]$LE) #use list extraction to get the values > #[1] 55 > #[1] 66 > > > > On Jan 30, 2009, at 12:06 PM, stefan.d...@gmail.com wrote: > >> Hello, >> I have a maybe trivial question, but I simply don't understand well >> enought how to work with text/strings: >> >> I have a rather compelx data structure, a big list with several >> sub-lists/dataframes and for certain calculations (which I do in >> loops), I only need a certain group of sub-lists/dataframes, which I >> want to specify with a name vector and paste together the object name >> and pass it on to a function. >> >> Here an (hopefully) instructive example >> >> #Data Example >> gnuff<-list() >> gnuff$IHD$LE<-66 >> gnuff$LUNG$LE <-55 >> >> #This is the list, where I collect data for different diseases at the >> second level of the list >> #Now I want to do calcualtions just for these two diseases and the >> sub-list "LE" within these diseases >> >> >> nam <- c("LUNG","IHD") >> >> for(i in 1:2) >> x[i] <- paste("gnuff",nam[i],"LE",sep="$") /2 >> x >> >> #So I try to paste the name of the object which I mean >> (gnuff$IHD$LEand gnuff$LUNG$LE, respectivly), but R treats them as a >> string and not as the name of an object. >> # I tried seveal commands to make it treat like an object name (the >> get() looked most promising), but so far to no avail >> >> #commands I have tried >> j <- eval(paste("gnuff",nam[i],"LE",sep="$")) >> parse(paste("gnuff",nam[i],sep="$")) >> quote(paste("gnuff",nam[i],sep="$")) >> get(paste("gnuff",nam[i],sep="$")) >> >> Anybody any hints where to look? >> Thanks and have a great weekend! >> Best, >> Stefan >> >> ______________________________________________ >> 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. > > ______________________________________________ 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.