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

R语言基于三列信息筛选数据:保留符合指定测试条件人员的全量记录

基础R实现(和你原有写法逻辑兼容,仅新增筛选条件)

直接在筛选符合要求的人员ID时,新增a测试的value判断即可:

data1 <- data[data$person %in% data[data$test == 'a' & data$value < 3, ]$person, ]

运行后得到的data1就完全符合你的预期结果。


dplyr实现(可读性更强,适合tidyverse技术栈)

用分组+存在性判断的逻辑,后续修改筛选规则时更易维护:

library(dplyr)
data1 <- data %>%
  group_by(person) %>%
  filter(any(test == 'a' & value < 3)) %>%
  ungroup()

逻辑说明:按人员分组后,只要该人员的所有测试记录中存在「a测试且值小于3」的行,就保留该人员的全部记录。

内容的提问来源于stack exchange,提问作者Badboybørge

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 11:06:08