R - 如何用另一组值替换一组值

R - How to replace a set of values with another set of values

我有这个问题可以手动解决,但我觉得一定有更简单的答案。 我想用A替换2,用B替换22,用C替换4,...... 我有一个数组和另一个 [A,B,C,D,...] 中要替换的所有值。 有没有简单的方法来执行此替换? 谢谢, 米格尔

使用data.table

DT[column1 == "2", column1 := "A"]

如果你想一次做一组,然后使用 data.table 中的 setkeymerge 带有参考数据集的数据集。

setkeyv(DT, 'column1')
setkeyv(referenceSet, 'oldVars')

merge(DT, referenceSet, all.x = TRUE)

您可以使用命名向量。

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"