意外的替换行为

mor*_*ode 2 r

我需要帮助replace()命令

replace(c(3,2,2,1),1:3,4:6)
Run Code Online (Sandbox Code Playgroud)

我期待输出6,5,5,4但得到了4,5,6,1

我究竟做错了什么?

我对替换是什么的理解是:它查找第二个参数中第一个参数的元素的索引值(例如3是1:3中的第3个元素),然后用相同的索引替换第三个参数中的元素(例如,4:6中的第3个元素是6,因此我期望向量中的第一个元素为6)

谢谢.(替换帮助文件没有示例...需要在此处要求澄清)

Jam*_*mes 6

虽然replace没有给出你想要的行为,但实现你想要的是很容易使用match:

new[match(x,i)]
Run Code Online (Sandbox Code Playgroud)