我有这个问题,我可以手动解决,但我觉得必须有一个更简单的答案。 我想用A替换2,用B替换22,用C替换4,...... 我有一个我要在数组中替换的值和另一个[A,B,C,D,...]。 有没有简单的方法来执行此替换? 谢谢, 米格尔
答案 0 :(得分:4)
您可以使用命名向量。
x <- sample(1:10, 8)
x
# [1] 4 9 6 10 8 3 7 5
y <- c("A", "B", "C")
names(y) <- 1:3
x[x%in%names(y)] <- y[x[x%in%names(y)]]
x
# [1] "4" "9" "6" "10" "8" "C" "7" "5"
答案 1 :(得分:2)
使用data.table
DT[column1 == "2", column1 := "A"]
如果您想一次执行一组,请使用setkey
中的data.table
和merge
数据集与参考数据集。
setkeyv(DT, 'column1')
setkeyv(referenceSet, 'oldVars')
merge(DT, referenceSet, all.x = TRUE)