通过存储在向量中的列名过滤数据帧

时间:2019-03-14 16:06:46

标签: r filtering

我尝试过滤一个值为rowSums且包含在某些列中的值的数据帧。这些列的名称本身包含在向量中。

          Pred_Top Pred_1 Herb_3 Herb_2 Algae Phytoplkt Herb_1 Pred_2
Pred_Top         0      1      0      0     0         0      0      1
Pred_1           0      0      1      1     0         0      0      0
Herb_3           0      0      0      0     1         0      0      0
Herb_2           0      0      0      0     1         1      0      0
Algae            0      0      0      0     0         0      0      0
Phytoplkt        0      0      0      0     0         0      0      0
Herb_1           0      0      0      0     0         1      0      0
Pred_2           0      0      0      1     0         1      1      0

因此,我在没有任何问题的情况下按rowSums进行过滤:

mat[rowSums(mat) <= 2, ]

现在,我想按此向量进行过滤,该向量存储要过滤的列的名称和一个值。

name <- c("Algae", "Phytoplakt")
mat[, name] == 1

最后,我想要一个这样的数据框

          Pred_Top Pred_1 Herb_3 Herb_2 Algae Phytoplkt Herb_1 Pred_2
Herb_3           0      0      0      0     1         0      0      0
Herb_2           0      0      0      0     1         1      0      0
Herb_1           0      0      0      0     0         1      0      0

但是我可以找出一种方法来对这两个过滤器进行“相交”。

0 个答案:

没有答案