【问题标题】:How to add numbers in existing column R如何在现有列 R 中添加数字
【发布时间】:2021-02-04 22:28:07
【问题描述】:

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

提前谢谢你! ??? 埃莱尼

【问题讨论】:

标签: r numbers multiple-columns add


【解决方案1】:

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"))

【讨论】:

  • 谢谢 :),当我应用它时,我得到的是 NA 而不是数字
【解决方案2】:

创建一个名为向量的键/值,并使用它来匹配和替换基于“字母”列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))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-01
    • 1970-01-01
    • 2021-05-21
    • 2022-01-12
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多