对 R 中的两个序列求和以产生第三个序列

Sum two sequences in R to yield a third sequence

我在 R 中有一个数字序列

A <- c(1,4,2,5,3,6)

我有第二个序列如下

B <- c(0,6,12)

我想对两个序列的元素求和,得到以下结果:

final_output = c(1,4,2,5,3,6, 7,10,8,11,9,12,13,16,14,17,15,18)

我已经尝试 A + B 但我得到:

  1 10 14  5  9 18 

我无法得到答案。有人可以指导我吗?

vec <- c()

for(i in 1:length(B)){
vec <- c(vec, A + B[i])
}

这会创建一个序列列表,然后 unlist() 将所有序列合并在一起。

这个有用吗:

B<- c(0, 6,12)
A<-c(1,4,2,5,3,6)

unlist(lapply(B, function(x){x+A}))
[1]  1  4  2  5  3  6  7 10  8 11  9 12 13 16 14 17 15 18

使用outer-

c(outer(A, B, `+`))
#[1]  1  4  2  5  3  6  7 10  8 11  9 12 13 16 14 17 15 18

使用 rowSumsexpand.grid 的另一个选项:

rowSums(expand.grid(A, B))

给出:

 [1]  1  4  2  5  3  6  7 10  8 11  9 12 13 16 14 17 15 18