【发布时间】:2016-02-15 13:59:59
【问题描述】:
我有两个数据框
df1
i1 i2 i3
p1 1 1 1
p2 0 1 1
p3 0 0 1
df2
p1 p2 p3
site1 0 0 1
site2 4 1 10
site3 15 0 0
现在我想为 df2 中的每个站点创建一个数据框列表。数据帧应仅包含来自 df1 且位于 df2 且大于 0 的行。
对于示例,我列表中的新 df 应该是这些:
site1: i1 i2 i3
p3 0 0 1
site2: i1 i2 i3
p1 1 1 1
p2 0 1 1
p3 0 0 1
site3: i1 i2 i3
p1 1 1 1
除了列表问题之外,我无法让 R 在 df1 中选择正确的行。到目前为止我所做的是使用 %in%
test<-df1[df1[,1] %in% (df2[1,-1]>0),]
这给了我 (或 0-length row.names)的 colnames(df1)
有人知道我哪里出错了吗?我不知道我是否可以以某种方式使用合并,因为我需要检查正确的 colname 和 >0 的值。
【问题讨论】: