繁体   English   中英

如何在现有列 R 中添加数字

[英]How to add numbers in existing column R

我想在 R 中问您以下问题:我有一个列:字母 = A、B、C、B、B、A 我想要一个新列,它看起来像这样:字母 = A4、B2、 C1、B2、B2、A4。 所以每次都是A,我加4,B加2,C最后加1。

先感谢您! 埃莱尼

创建一个名为向量的键/值,并使用它来匹配和替换基于“字母”列的值,将 output 与“字母”列paste

mapping_vec <- setNames(c(4, 2, 1), c("A", "B", "C"))
df1$newCol <- with(df1, paste0(Letter, mapping_vec[Letter]))
df1$newCol
#[1] "A4" "B2" "C1" "B2" "B2" "A4"

数据

df1 <- structure(list(Letter = c("A", "B", "C", "B", "B", "A")), 
class = "data.frame", row.names = c(NA, 
-6L))

带有match的选项

transform(
  df,
  NewCol = paste0(Letter, c(4, 2, 1)[match(Letter, c("A", "B", "C"))])
)

  Letter NewCol
1      A     A4
2      B     B2
3      C     C1
4      B     B2
5      B     B2
6      A     A4

数据

df <- data.frame(Letter = c("A", "B", "C", "B", "B", "A"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM