首页 > 解决方案 > 过滤数据框,但仅在满足特定条件的行中

问题描述

这是我的第一个问题,如果我不清楚,我很抱歉。

我有一个包含 2 个列的数据框:城市和年龄。我想过滤一些年龄范围,但仅限于某些城市。

x <- tibble(city = c("LA","LA","LA","NY","NY","NY"), age = c(10,20,30,15,25,35))

我想保留所有值city == "LA",但city == "NY"只有那些age >20

我可以这样做dplyr::filter吗?

标签: rdplyr

解决方案


根据您的情况,这应该有效:

library(dplyr)
x %>%
    filter(city == "LA" | city == "NY" & age > 20)

输出

city    age
  <chr> <dbl>
1 LA       10
2 LA       20
3 LA       30
4 NY       25
5 NY       35

推荐阅读