【发布时间】:2017-03-02 10:56:50
【问题描述】:
我有 2 个向量
x <- c(2,2,5)
y <- c(1,2)
我想把向量的每个元素加在一起得到
[1] 3 3 6 4 4 7
我该怎么做?
【问题讨论】:
我有 2 个向量
x <- c(2,2,5)
y <- c(1,2)
我想把向量的每个元素加在一起得到
[1] 3 3 6 4 4 7
我该怎么做?
【问题讨论】:
我们可以使用outer 和FUN 作为+
c(outer(x, y, `+`))
#[1] 3 3 6 4 4 7
【讨论】:
您可以尝试使用expand.grid 创建每对 x/y 元素,然后计算行总和:
rowSums(expand.grid(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 的每个参数,它重复 y 的每个元素,对应于 x 的长度。
【讨论】:
或者你可以试试:
as.vector(sapply(y,function(i) (i+x)))
【讨论】: