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

如何筛选R数据框中包含两个观测值的行?

筛选包含两个观测值的行

你的示例数据集:

test <- data.frame(value=c("A1", "B1", "C1", "A1,C1", "C1", "C1, B1", "D1", "F1,E1"))

这里提供两种实用的筛选方法:

  • 方法一:直接匹配分隔符逗号
    包含两个值的行必然带有逗号(不管后面有没有空格),用grepl函数匹配即可:

    filtered_rows <- test[grepl(",", test$value), ]
    
  • 方法二:严谨判断值的数量
    如果要确保恰好是两个值(避免三个及以上值的行被误选),可以先按逗号+可选空格分割字符串,再统计分割后的元素数量:

    filtered_rows <- test[sapply(strsplit(test$value, ",\\s?"), length) == 2, ]
    

运行任意一种方法后,filtered_rows$value的结果就是你需要的:"A1,C1"、"C1, B1"、"F1,E1"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 04:50:26