Skip to content
Prev 310640 / 398503 Next

select different variables from a list of data frames

Hi,
In addition to:
mylist<-list(df1=data.frame(a=seq(1,10,1), c=seq(1,10,1), q10=rep('favour', 10)), df2=data.frame(a=seq(1,10,1), b=seq(15,24,1), q14=rep('favour', 10)))
lapply(mylist,function(x) x[colnames(x)%in% c("a","q10","q14")]) 

you could also use:?lapply(seq_along(mylist),function(i) mylist[[i]][names(mylist[[i]])%in% c("a","q10","q14")])
#[[1]]
#??? a??? q10
#1?? 1 favour
#2?? 2 favour
#3?? 3 favour
#4?? 4 favour
#5?? 5 favour
#6?? 6 favour
#7?? 7 favour
#8?? 8 favour
#9?? 9 favour
#10 10 favour

#[[2]]
?# ? a??? q14
#1?? 1 favour
#2?? 2 favour
#3?? 3 favour
#4?? 4 favour
#5?? 5 favour
#6?? 6 favour
#7?? 7 favour
#8?? 8 favour
#9?? 9 favour
#10 10 favour
A.K.




----- Original Message -----
From: Simon Kiss <sjkiss at gmail.com>
To: r-help at r-project.org
Cc: 
Sent: Monday, November 12, 2012 5:34 PM
Subject: [R] select different variables from a list of data frames

Hi:
How do I select different variables from a list of data frames.
I have a list of 13 that looks like below.? Each data frame has more variables than I need.? How do I go through the list and select the variables that I need.
In the example below, I need to get the variables "a", and "q10" and "q14" to be returned to two separate data frames.
Thank you.
Yours, Simon Kiss

#####Sample data
? mylist<-list(df1=data.frame(a=seq(1,10,1), c=seq(1,109,1), q10=rep('favour', 10)), df2=data.frame(a=seq(1,10,1), b=seq(15,24,1), q14=rep('favour', 10)))

#The variables with different names that I need are
q<-c('q10', 'q14')
#My current code

dat<-mapply(function(x,y) {
? data.frame(a=x$a, y$q)
}, x=mylist, y=q)

______________________________________________
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.