[R] grabbing from elements of a list without a loop

arun smartpink111 at yahoo.com
Wed Feb 13 00:12:43 CET 2013


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



More information about the R-help mailing list