r - 按列值过滤数据框的行
问题描述
我有一个包含 10 列的数据框。一栏给出了鸟类的名称。实际上有 300 种,但我只对其中的 200 种感兴趣。我只想保留这 200 个物种的信息。
我的桌子截图:https ://i.stack.imgur.com/OcJyI.png
我不能只写:filter(Species == "Mallard" & Species == "Wood-pigeon")
我有一个包含所有 200 个选定物种的矩阵。但是,我不知道如何使用这个矩阵来选择我的数据框中的相关行。是否可以使用子集/过滤器/等功能根据矩阵选择行?
请问正确的代码是多少?
解决方案
==
with&
无论如何都不会起作用,因为我们在同一个单元格中找不到不同的“物种” 。使用该代码,它将|
代替&
. 但是,这可以通过%in%
值向量更容易地完成,例如
subset(df1, Species %in% c("Mallard", "Wood-pigeon"))
这
c("Mallard", "Wood-pigeon")
可以扩展到任意数量的物种