R语言如何筛选数据框中以G开头的行生成Population_G数据集
R语言筛选以G开头的行生成目标数据框
你可以直接在现有已执行的代码后追加对应代码,即可得到仅保留取值以G开头行的Population_G数据框:
推荐方案(适配你当前已加载的stringr/tidyr环境)
# 匹配列1中以G开头的行,赋值为新数据框 Population_G <- treenodes[stringr::str_starts(treenodes$`1`, "G"), ]
代码说明:
str_starts()是stringr包内置的前缀匹配函数,专门用于判断字符串是否以指定字符开头,完全匹配你的筛选规则- 由于你的数据框列名是数字
1,属于R语言中的非标准列名,引用时需要用反引号`包裹,否则会触发语法报错 - 运行后会自动过滤空行、H开头行、#开头行,最终仅保留
G:3#3所在的符合要求的行
基础R方案(无需依赖第三方包)
如果不想调用stringr的函数,用R自带函数也可以实现:
# 先把列转为字符型避免因子类型匹配错误,再筛选前缀 Population_G <- treenodes[startsWith(as.character(treenodes$`1`), "G"), ]
额外优化提示:你之前多次执行替换连续空格的代码可以简化,直接用
stringr::str_squish(treenodes)即可一次性清除字符串首尾空格、把中间连续的多段空格替换为单个空格,不需要反复写替换2个、3个空格的逻辑。
内容的提问来源于stack exchange,提问作者Skylar G
相关产品推荐
相关产品推荐

