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

R语言中如何提取服用ABC的参与者数据?筛选问题求助

解决方法

你可以用dplyr的filter()函数,通过**逻辑或(|)**同时匹配meds A和meds B列的条件,或者用if_any()处理多列场景,两种方案如下:

方案1:明确指定两列条件

如果只有meds A和meds B两列需要筛选,直接用逻辑或连接两个条件即可:

library(dplyr)

# 假设你的数据框名为df
filtered_df <- df %>%
  filter(`meds A` == "ABC" | `meds B` == "ABC")

注意列名包含空格,需要用反引号`包裹列名。

方案2:适配多列的通用写法

如果以后还有meds C、meds D这类列,用if_any()可以一次性匹配所有符合规则的列,不用逐个列写条件:

filtered_df <- df %>%
  # 匹配所有以"meds"开头的列中,值为"ABC"的记录
  filter(if_any(starts_with("meds"), ~ .x == "ABC"))

原来的代码只筛选了meds A的情况,加上逻辑或条件后,就能同时包含meds B为ABC的参与者数据了。

内容的提问来源于stack exchange,提问作者Jia Wei Tan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 20:54:54