在保持第一个向量不变的同时,如何在另一个向量之间添加一个向量?例如,如果我有c(1, 2, 3) + 1
。我将得到2、3、4。如果我想将其扩展为+1、1和+2,我该怎么做才能得到?
2, 3, 4, 3, 4, 5
直觉上我想c(1, 2, 3) + c(1, 2)
这样做,但这不起作用。
将评论变成我们可以使用的答案,outer
如@jogo所示
c(outer(1:3, 1:2, FUN='+'))
# [1] 2 3 4 3 4 5
另一种选择是 rep
f <- function(x, y) {
x + rep(y, each = length(x))
}
f(1:3, 1:2)
# [1] 2 3 4 3 4 5
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句