【发布时间】:2017-03-01 05:25:46
【问题描述】:
给定具有唯一列名的数据框列表,最终目标是提取这些列与每个数据框按顺序匹配标准的行。示例:
Sp1<-c("Elm","Maple","Oak")
Sp2<-c("Elm", "Aspen", "Oak")
Height1<-c(2,4,6)
Height2<-c(4,6,8)
Site_1<-data.frame(Sp1,Height1)
Site_2<-data.frame(Sp2,Height2)
Tree_List<-list(Site_1=Site_1,Site_2=Site_2)
现在开始我知道,如果我执行以下代码,它将为单个选择返回所需的输出:
subset(Tree_List[[1]], Tree_List[[1]][1]=="Elm")
我还知道,如果我按特定名称调用列,我可以提取多个选择所需的输出:
subset(Tree_List[[1]], Sp1 %in% c("Elm","Oak"))
由于我使用 for 循环遍历列表中具有相同列号但不同列名的所有数据帧,因此我的尝试是:
subset(Tree_List[[1]], Tree_List[[1]][1] %in% c("Elm","Oak"))
不幸的是,这会返回
的输出<0 rows> (or 0-length row.names)
而不是所需的输出。有什么想法吗?
【问题讨论】:
标签: r