Message-ID: <1360710763.61872.YahooMailNeo@web142605.mail.bf1.yahoo.com>
Date: 2013-02-12T23:12:43Z
From: arun
Subject: grabbing from elements of a list without a loop
In-Reply-To: <CAN2xGJbDb3J57AT+v-xJBmdZGVPPWhEbNwhBwGsfUmz_myuCdA@mail.gmail.com>
Hi Dimitri,
?neededcolumns<- c(1,2,0)
mapply(`[`,mylist,lapply(neededcolumns,function(x) x),SIMPLIFY=FALSE)
#[[1]]
?# a
#1 1
#2 2
#
#[[2]]
?# b
#1 5
#2 6
#[[3]]
#data frame with 0 columns and 2 rows
A.K.
________________________________
From: Dimitri Liakhovitski <dimitri.liakhovitski at gmail.com>
To: arun <smartpink111 at yahoo.com>
Cc: R help <r-help at r-project.org>
Sent: Tuesday, February 12, 2013 6:01 PM
Subject: Re: [R] grabbing from elements of a list without a loop
Arun, do you know why the first line works and the second doesn't?
newlist<-mapply(`[`,mylist,list(1,2,0),SIMPLIFY=FALSE) # it works
neededcolumns<-c(1,2,0)?????????????????? # it does not work
newlist<-mapply(`[`,mylist,list(neededcolumns),SIMPLIFY=FALSE)
Dimitri
On Tue, Feb 12, 2013 at 5:08 PM, arun <smartpink111 at yahoo.com> wrote:
Hi,
>
>
>?mapply(`[`,mylist,list(1,2,0),SIMPLIFY=FALSE)
>#[[1]]
>#? a
>#1 1
>#2 2
>
>#[[2]]
>?# b
>#1 5
>#2 6
>
>#[[3]]
>#data frame with 0 columns and 2 rows
>
>
>A.K.
>
>
>----- Original Message -----
>From: Dimitri Liakhovitski <dimitri.liakhovitski at gmail.com>
>To: r-help <r-help at r-project.org>
>Cc:
>Sent: Tuesday, February 12, 2013 4:33 PM
>Subject: [R] grabbing from elements of a list without a loop
>
>Hello!
>
># I have a list with several data frames:
>mylist<-list(data.frame(a=1:2,b=2:3),
>? ? ? ? ? ?data.frame(a=3:4,b=5:6),data.frame(a=7:8,b=9:10))
>(mylist)
>
># I want to grab only one specific column from each list element
>neededcolumns<-c(1,2,0)? # number of the column I need from each element of
>the list
>
># Below, I am doing it using a loop:
>newlist<-NULL
>for(i in 1:length(mylist) ) {
>? newlist[[i]]<-mylist[[i]] [neededcolumns[i]]
>}
>newlist<-do.call(cbind,newlist)
>(newlist)
>
>I was wondering if there is any way to avoid the loop above and make it
>faster.
>In reality, I have a much longer list, each of my data frames is much
>larger and I have to do it MANY-MANY times.
>Thanks a lot!
>
>Dimitri Liakhovitski
>gfk.com <http://marketfusionanalytics.com/>
>
>??? [[alternative HTML version deleted]]
>
>______________________________________________
>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.
>
>
--
Dimitri Liakhovitski
gfk.com