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

R语言如何对数据框单列按指定结尾短语筛选记录

R筛选数据框保留areaname末尾为MSA的记录

直接用R原生的字符串正则匹配就能实现,不需要依赖第三方包,核心是用字符串结尾锚定符$精准匹配末尾的MSA短语,天然排除末尾为MicroSA或其他后缀的条目。

  • 第一步:构造示例测试数据
areaname <- c("Albany NY MSA", "Albany GA MSA", "Aberdeen SD MicroSA", "Reno NV MSA", "Fernley NV MicroSA", "Syracuse NY MSA")
Employment <- c(100,104,108,112,116,88)
testitem <- data.frame(areaname, Employment)
  • 第二步:执行筛选
    用grepl()函数匹配areaname列中以MSA结尾的记录,正则规则MSA$代表匹配字符串最末尾的"MSA"字符,末尾是MicroSA的条目结尾三个字符是"cSA",完全不会被匹配到,直接被排除:
msa_result <- testitem[grepl("MSA$", testitem$areaname), ]
  • 筛选结果校验
    运行后得到的msa_result仅保留目标条目:
areanameEmployment
Albany NY MSA100
Albany GA MSA104
Reno NV MSA112
Syracuse NY MSA88

补充严谨匹配规则:如果你的数据里可能出现类似"XXXMSA"(MSA和前面内容连在一起、不是独立短语)的异常值,可以把正则改成\\sMSA$,要求MSA前面必须有一个空格,确保匹配到的是作为独立后缀短语的MSA,对应代码如下:

msa_result_strict <- testitem[grepl("\\sMSA$", testitem$areaname), ]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 12:51:31