【发布时间】:2013-11-13 15:28:00
【问题描述】:
带着这个问题,我想扩展和概括开始here 的讨论。这是为了像我这样在必须使用 lapply 时仍然遇到麻烦的人的利益。
假设我有数据框 d1 和 d2 存储在列表 my.ls 中
d1<-data.frame(a=rnorm(5), b=c(rep(2006, times=4),NA), c=letters[1:5])
d2<-data.frame(a=1:5, b=c(2007, 2007, NA, NA, 2007), c=letters[6:10])
my.ls<-list(d1=d1, d2=d2)
如何获得另一个列表,其中包含我只保留第一列和第三列的相同数据框?我尝试了以下方法,但没有成功
my.ls.sub<-lapply(my.ls, my.ls[,c(1,3)])
如果那样的话,我不仅想对数据帧进行子集化,而且还想知道我正在提取的列中的 unique 值是什么? (换句话说,在这里我将为每个数据帧创建两个向量,这些向量可以是免费的或存储在列表列表中)。对于后一点,我无法提出任何建议......
【问题讨论】: