如何解决对 R 中的两个序列求和以产生第三个序列
我在 R 中有一个数字序列
A <- c(1,4,2,5,3,6)
我有第二个序列如下
B <- c(0,6,12)
我想对两个序列的元素求和,得到以下结果:
final_output = c(1,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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。