对 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
使用 rowSums
和 expand.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
我在 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
使用 rowSums
和 expand.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