📅  最后修改于: 2023-12-03 15:22:10.985000             🧑  作者: Mango
在数据分析和处理中,经常需要根据多个条件过滤和筛选数据,在 R 中可以使用 Dplyr 库中的 filter()
函数来实现。
library(dplyr)
以 iris
数据集为例:
data(iris)
df <- as_tibble(iris)
可以使用 filter()
函数,通过多个逻辑运算符(&、|)来筛选数据:
例如,筛选出 Sepal.Width 大于 3 并且 Species 为 setosa 或 versicolor 的数据行:
df_filtered <- df %>%
filter(Sepal.Width > 3 & (Species == "setosa" | Species == "versicolor"))
如果条件较多,也可以使用 filter_at()
函数,指定需要筛选的列名和条件:
以选择 Sepal.Width、Petal.Width 和 Species 列为例,筛选出 Sepal.Width 大于 3,Petal.Width 小于 0.2 或 大于 2.0,Species 不等于 virginica 的数据行:
df_filtered <- df %>%
filter_at(vars(Sepal.Width, Petal.Width, Species),
all_vars(. %>%
(Sepal.Width > 3 & (Petal.Width < 0.2 | Petal.Width > 2.0) & Species != "virginica")))
以上就是使用 Dplyr 按 R 中的多个条件过滤数据的方法,通过 filter()
和 filter_at()
函数的灵活组合,实现了根据多个条件对数据集的精准筛选。