You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用dplyr::filter筛选DataFrame:保留LA全部行且仅保留NY中年龄大于20的行?

使用dplyr::filter实现自定义行筛选

当然可以用dplyr::filter()轻松实现你的需求!咱们直接把两个筛选条件用逻辑运算符组合起来就好,逻辑很直观:

  • 要么是city等于"LA"的所有行
  • 要么是city等于"NY"且age大于20的行

完整代码示例

# 加载必要的包
library(dplyr)
library(tibble)

# 构建你的DataFrame
x <- tibble(city = c("LA","LA","LA","NY","NY","NY"), age = c(10,20,30,15,25,35))

# 执行筛选操作
filtered_x <- x %>%
  filter(city == "LA" | (city == "NY" & age > 20))

# 查看筛选结果
filtered_x

结果说明

运行代码后会得到如下输出,完全匹配你的需求:

# A tibble: 5 × 2
  city   age
  <chr> <dbl>
1 LA       10
2 LA       20
3 LA       30
4 NY       25
5 NY       35

这里的小技巧是用括号把NY的两个条件括起来,确保逻辑运算优先级正确——先判断city == "NY" & age > 20这个组合条件,再和city == "LA"做逻辑或运算,避免出现逻辑错误。

内容的提问来源于stack exchange,提问作者uow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 13:32:48