2012-01-30 60 views
6

我有data.frames列表,我不知道是否有一個簡單的索引方式獲取所有data.frames的所有第三列。或者所有名爲x的列? 說起R:data.frames的索引列表 - 如何獲取所有第x列?

lapply(names(mylist),function(x) mylist[[x]][,3]) 

有什麼辦法僅通過索引做,像MYLIST [[]] [3]? (不顯着工作)

編輯:那你如何做到這一點,當你想使用的功能就像在NLEVELS,像

lapply(names(mylist),function(x) nlevels(mylist[[x]][,3])) 
考慮到第3列

是一個因素。

回答

9

也許這是比較容易:

lapply(mylist, "[[", 3) 
lapply(mylist, "[[", name_of_column) 
+0

+1確實如此。不知道你可以使用這樣的樂手的第二個參數。光滑。但另一方面,這意味着無法僅使用索引編制? – 2012-01-30 12:37:11

+0

「僅僅索引」是什麼意思? – kohske 2012-01-30 12:39:42

+0

mylist [[]] [,3],如果它能工作,就像這樣。不使用任何循環或應用。 – 2012-01-30 13:09:59