R语言中修复数据框Event列缺失下划线的命名问题
解决方案
你可以用正则表达式批量修正格式,以下是两种高效实现方式:
方法一:Base R 原生函数
利用gsub()匹配「空格+数字」的组合,将空格替换为下划线:
# 原数据框 example <- data.frame( Event = c('Negative_other 6', 'Negative_other_7', 'Neutral_self_1', 'Negative_other_6', 'Neutral_self 1', 'Negative_other_7'), Type = c(1,2,2,1,2,2) ) # 替换空格为下划线 example$Event <- gsub(" (\\d)", "_\\1", example$Event) # 查看结果 example
正则逻辑说明:
(\\d):捕获单个数字作为分组_\\1:将匹配到的空格替换为下划线,同时保留捕获的数字
方法二:tidyverse 工具包
若习惯tidyverse风格,可使用stringr::str_replace_all():
library(stringr) library(dplyr) example <- example %>% mutate(Event = str_replace_all(Event, " (\\d)", "_\\1"))
两种方法均能快速完成格式统一,处理大规模数据时效率表现也很稳定。
内容的提问来源于stack exchange,提问作者jo_
相关产品推荐
相关产品推荐

