使用索引将操作应用于向量的某些元素

时间:2015-08-19 16:06:56

标签: r vector

我在R中有一个关于向量运算的相当基本的问题。我想通过使用包含元素索引的向量将某个操作(即增量)应用于向量的特定元素。

例如:

ind <- c(2,5,8)
vec <- seq(1,10)

我想在vec的第2,第5和第8个元素中添加1。最后我想:

vec <- c(1,3,3,4,6,6,7,9,8,10)

我试过

vec[ind] + 1
但这只返回三个元素。当然,我可以使用for循环,但是知道R,我确信有更优雅的方式。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

我们必须分配

 vec[ind] <- vec[ind] + 1
 vec
 #[1]  1  3  3  4  6  6  7  9  9 10