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

R语言如何筛选数据框中两列前缀一致的匹配行

R语言实现方案

方法1:基础R实现

无需额外安装第三方包,直接用基础的sub()正则替换函数提取前缀后匹配筛选:

# 提取两列前缀匹配后筛选
result <- df[sub("_.+$", "", df$data) == sub("_group$", "", df$group), ]
# 查看结果
print(result)

代码说明:

  • sub("_.+$", "", df$data):将data列中第一个_及之后的所有内容替换为空,得到_#之前的前缀
  • sub("_group$", "", df$group):将group列末尾的_group替换为空,得到_group之前的前缀
  • 两者相等的行即为符合要求的行

方法2:tidyverse 简洁实现

如果常用tidyverse生态,可以用dplyr+stringr的组合写法,可读性更高:

library(tidyverse)

result <- df %>% 
  filter(
    # 提取data列前缀
    str_remove(data, "_\\d+$") == 
    # 提取group列前缀
    str_remove(group, "_group$")
  )

# 查看结果
print(result)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 13:36:04