根据规则

时间:2017-08-21 13:58:05

标签: r

我需要一个创建新向量的规则,使得第一个元素=向量1的第一个元素,第二个元素=向量1的第二个元素和向量2的第一个元素的总和,第三个元素=第三个元素的总和向量1的元素,向量2的第二个元素和向量3的第一个元素,......,最后一个元素是最后一个向量的最后一个元素。

例如,有两个向量(v1,v2),

v1 <- c(1, 2, 3)

v2 <- c(4, 5, 6)

new.vector <- c(1, 6, 8, 6)

非常感谢所有建议!

2 个答案:

答案 0 :(得分:2)

如何将前导0和后缀0分别添加到v1和v2:

c(v1, 0) + c(0, v2)

使其成为一种功能:

f <- function(v1, v2) c(v1, 0) + c(0, v2)

答案 1 :(得分:1)

c(v1[1], v2+c(v1[-1],0))
#[1] 1 6 8 6

如果你想要放入一个功能

foo = function(x, y){
    return(c(x[1], y+c(x[-1],0)))
}
foo(v1, v2)
#[1] 1 6 8 6