按列值过滤数据框的行

时间:2021-04-03 20:14:57

标签: r

我有一个包含 10 列的数据框。一栏给出了鸟类的名称。实际上有 300 种,但我只对其中的 200 种感兴趣。我只想保留这 200 个物种的信息。

我的表的屏幕截图:https://i.stack.imgur.com/OcJyI.png

我不能只写:filter(Species == "Mallard" & Species == "Wood-pigeon")

我有一个包含所有 200 个选定物种的矩阵。但是,我不知道如何使用这个矩阵来选择数据框中的相关行。是否可以使用子集/过滤器/等功能基于矩阵选择行?

请问正确的代码是什么?

1 个答案:

答案 0 :(得分:0)

带有 ==& 无论如何都不起作用,因为我们在同一个单元格中找不到不同的“物种”。使用该代码,它将是 | 而不是 &。但是,这可以通过 %in% 在值向量上更轻松地完成,例如

subset(df1, Species %in% c("Mallard", "Wood-pigeon"))

c("Mallard", "Wood-pigeon")

可以扩展到任意数量的物种