如何过滤掉不符合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
我有这个数据框:
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