首页 > 解决方案 > 将字符添加到R中的字符串

问题描述

我有一个包含几列的数据框,一列是 ID,如果 ID 以数值开头,我需要添加字符才能开始,否则不要理会。

在此处输入图像描述

我想要的输出需要看起来像这样:

在此处输入图像描述

标签: rstringdataframereplace

解决方案


您可以使用该函数grepl来搜索每个字符串的第一个元素是否为数值。'^' 查看字符串中的第一个值,'[0-9]' 匹配数字 0 到 9。如果匹配,则将字符 'E' 附加到前面。否则字符串原封不动地返回:

# example data
df <- data.frame(V1 = c('725901', '759021', 'S00168'))

df$V1 <- sapply(df$V1, function(x) ifelse(grepl("^[0-9]", x), paste0('E', x), x))

生成:

       V1
1 E725901
2 E759021
3  S00168

推荐阅读