将 vector 的每个元素添加到另一个 vector

Add each element of vector to another vector

我有 2 个向量

x <- c(2,2,5)
y <- c(1,2)

我想将向量的每个元素加在一起得到

[1] 3 3 6 4 4 7

我该怎么做?

您可以尝试使用 expand.grid 创建每对 x/y 元素,然后计算行总和:

rowSums(expand.grid(x, y))
# [1] 3 3 6 4 4 7

或者你可以试试:

as.vector(sapply(y,function(i) (i+x)))

我们可以使用 outerFUN 作为 +

c(outer(x, y, `+`))
#[1] 3 3 6 4 4 7

您还可以使用 rep 的变体和 +:

rep(x, length(y)) + rep(y, each=length(x))
[1] 3 3 6 4 4 7

+ 的第二个参数使用 rep 的每个参数,它重复对应于 x 长度的 y 的每个元素。