📜  使用 Dplyr 按 R 中的多个条件过滤数据(1)

📅  最后修改于: 2023-12-03 15:22:10.985000             🧑  作者: Mango

使用 Dplyr 按 R 中的多个条件过滤数据

在数据分析和处理中,经常需要根据多个条件过滤和筛选数据,在 R 中可以使用 Dplyr 库中的 filter() 函数来实现。

操作说明
  1. 导入 Dplyr 库
library(dplyr)
  1. 准备数据

iris 数据集为例:

data(iris)
df <- as_tibble(iris)
  1. 按多个条件过滤数据

可以使用 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() 函数的灵活组合,实现了根据多个条件对数据集的精准筛选。