替换R中向量中多次出现的值

T_s*_*s_3 3 replace r vector

我有一个价值向量

x <- c(1,2,3,4,5)
Run Code Online (Sandbox Code Playgroud)

对于每次出现,我想用向量y中的值替换:

y <- c(8,9,11,24,56)
Run Code Online (Sandbox Code Playgroud)

所以,当我在像这样的矢量上测试时

z <- (1,2,3,4,5,4,3,4,2,3,2,3,4)
Run Code Online (Sandbox Code Playgroud)

我现在回来z等于

z <- (8,9,11,24,56,24,11,24,9,11,9,11,24)
Run Code Online (Sandbox Code Playgroud)

Mar*_*pov 5

您可以使用函数match来查找之间的匹配z,x并使用它们进行索引y:

y[match(z,x)]
# [1]  8  9 11 24 56 24 11 24  9 11  9 11 24
Run Code Online (Sandbox Code Playgroud)