r - 替换的意外行为

标签 r

我需要有关 replace() 命令的帮助

replace(c(3,2,2,1),1:3,4:6)

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

我做错了什么?

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

谢谢。 (替换帮助文件没有例子...需要在这里问清楚)

最佳答案

虽然 replace 没有提供您想要的行为,但使用 match 很容易实现您的预​​期:

new[match(x,i)]

关于r - 替换的意外行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4783060/

相关文章:

R代码: Is there a way to make this Monte Carlo simulation quicker?

python - 使用登录号从 ENA 数据库的 ftp 服务器下载数据

r - R 错误中的 K 均值聚类

R 在 xlabel 中使用符号 Angstroms

r - 在 while 语句中设置变量

r - ggplot2:stat_smooth用于使用facet_wrap返回 'full'或 'subset' glm模型的逻辑结果

r - 正则表达式意外匹配

r - 计算 FALSE 的向量化 OR 函数 | NA 和 NA |假如假?

r - 单击同一按钮之间的时间间隔 - shiny R

r - 如何选择R中的所有因子变量