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

R语言如何按指定多条件对数据框不同列完成过滤筛选

R语言多条件过滤操作实现方案

你可以选择以下任意一种方式完成过滤,2000行数据属于极小体量,两种方案的运行效率都足够:

方法1:Base R原生实现(无需加载第三方包)

直接通过逻辑向量取子集完成过滤:

# 构造过滤规则
filter_rule <- (df$service == "SN" & df$Hours > 4) | (df$service == "PT" & df$Hours > 6)
# 执行过滤
filtered_df <- df[filter_rule, ]

方法2:dplyr包实现(可读性更高,适合后续数据处理流程衔接)

library(dplyr)

filtered_df <- df %>%
  filter(
    (service == "SN" & Hours > 4) | (service == "PT" & Hours > 6)
  )

如果需要输出和你给出的示例完全一致的格式,可以追加字段处理逻辑:

library(dplyr)

formatted_df <- filtered_df %>%
  # 处理姓名首字母大写并加后缀点
  mutate(
    dr = paste0(toupper(substr(dr, 1, 1)), substr(dr, 2, nchar(dr)), "."),
    service = paste0(service, ".")
  ) %>%
  # 重命名列名
  rename(
    "Dr." = dr,
    "Service." = service
  )

输出formatted_df即可得到你期望的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 11:57:03