如何在R中用subset()函数筛选iris数据集的多个分类变量值
R中使用subset()筛选iris数据集多分类值的方法
直接使用%in%运算符匹配多个目标分类值即可实现需求,完整代码如下:
# 筛选仅保留setosa和virginica两类的新数据框 new_iris <- subset(iris, Species %in% c("setosa", "virginica"))
代码说明
%in%是R中专门用于多值匹配的运算符,会判断Species列的每一个取值是否存在于右侧的字符向量c("setosa", "virginica")中,匹配成功则返回TRUE,对应行就会被保留到新数据框- 也可以用逻辑或运算符实现等价效果,仅适合筛选2个值的场景,写法相对繁琐:
new_iris <- subset(iris, Species == "setosa" | Species == "virginica")
结果验证
运行以下命令可以确认筛选结果是否正确,输出的列联表中仅会出现setosa和virginica两个分类:
table(new_iris$Species)
内容的提问来源于stack exchange,提问作者Christine Emilie Tonne Artak
相关产品推荐
相关产品推荐

