我在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,我确信有更优雅的方式。
非常感谢任何帮助。
答案 0 :(得分:3)
我们必须分配
vec[ind] <- vec[ind] + 1
vec
#[1] 1 3 3 4 6 6 7 9 9 10