r - 字母序列到数字序列 R

我有一个如下所示的数据框:

df <- as.data.frame(c("AAA", "AAB", "AAC", "BBA"))
df

1                           AAA
2                           AAB
3                           AAC
4                           BBA

我想获得类似的东西:

1                           111
2                           112
3                           113
4                           221

最佳答案

base R中,我们可以使用chartr

df[[1]] <- chartr("ABC", "123", df[[1]])
df[[1]]
#[1] "111" "112" "113" "221"

如果替换的值有多个字符,那么通用的解决方案是str_replace_all - 使用命名的键/值向量来匹配和替换

library(stringr)
 str_replace_all(df[[1]],   setNames(c("1", "2", "3"), c("A", "B", "C")))
[1] "111" "112" "113" "221"

https://stackoverflow.com/questions/72322047/

相关文章:

python - 并行运行两个嵌套的 for 循环以创建矩阵

c - 函数参数在 C 中表现异常

regex - 我在我的 CI/CD 设置中找不到 Gitlab 的测试覆盖解析设置

javascript - 'submit' 事件产生的 SubmitEvents 是否包含表单值?

sql - 从逗号分隔的值列表构建 where 子句

r - 有没有一种简单的方法可以用 R 制作水平单层堆叠条形图?

regex - 有没有办法匹配句子中所有相邻的单词?

javascript - 错误 : Text content does not match serv

bash - 使用 sed 将 "="之前的所有字符大写

javascript - React Fetch API 在页面加载时被调用 2 次