首页 > 解决方案 > 按列值过滤数据框的行

问题描述

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

我的桌子截图:https ://i.stack.imgur.com/OcJyI.png

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

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

请问正确的代码是多少?

标签: r

解决方案


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

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

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

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


推荐阅读