如何过滤掉不符合R中指定条件的行

How to filter out rows that do not fit specified condition in R

我有这个数据框:

df <- data.frame (ID  = c(1:20),
                  Ethnicity = c(rep(c("White", "Asian", "Black", "Hispanic", "Other"), times=20/5)),
                  Age = c(1:20),
                  Set = rep(c(1,2,3,4), times=20/4)
)

有没有办法使用 R 中的 filter 函数过滤掉所有 Ethnicity 不是亚洲人的行?也许类似于 -filter?

谢谢!

除了 PaulS 的 tidyverse/dplyr 解决方案之外,您还可以通过以下方式使用基本 R 过滤掉行。

df[df$Ethnicity != "Asian",]

#>    ID Ethnicity Age Set
#> 1   1     White   1   1
#> 3   3     Black   3   3
#> 4   4  Hispanic   4   4
#> 5   5     Other   5   1
#> 6   6     White   6   2
#> 8   8     Black   8   4
#> 9   9  Hispanic   9   1
#> 10 10     Other  10   2
#> 11 11     White  11   3
#> 13 13     Black  13   1
#> 14 14  Hispanic  14   2
#> 15 15     Other  15   3
#> 16 16     White  16   4
#> 18 18     Black  18   2
#> 19 19  Hispanic  19   3
#> 20 20     Other  20   4