如何仅乘以R中向量中的特定元素

时间:2021-03-10 12:26:05

标签: r vector

我有一个向量 x

x <- c(1,3,4,6,4,7)
[1] 1  3  4  6  4  7

我只需要将向量的第 4 个元素乘以 2,这样新向量 y 看起来像 -

y 

[1] 1  3  4  12  4  7

关于如何在 R 中获得它的任何建议?

3 个答案:

答案 0 :(得分:2)

根据你的描述,这是一个简单的例子,将第四个元素乘以 2,然后在原始向量中替换它:

x[4] <- x[4] * 2

这只是将第四个元素乘以 2,然后将其放回原始向量的第四个位置,从而覆盖原始值:

x <- c(1, 3, 4, 6, 4, 7)

> x
[1] 1 3 4 6 4 7

x[4] <- x[4] * 2

> x
[1]  1  3  4 12  4  7

答案 1 :(得分:2)

这是另一个使用 replace + rep

的选项
y <- x * replace(rep(1, length(x)), 4, 2)

答案 2 :(得分:2)

或者在replace中使用索引

replace(x, 4, x[4] * 2)
相关问题