【发布时间】:2020-09-06 18:54:25
【问题描述】:
我有两个长度不等的向量:
vector1 <- c(1,2)
vector2 <- c(1,2,3)
我想将每个字符添加到每个其他字符并输出一个看起来像这样的矩阵:
2,3,4
3,4,5
我的实际向量非常大,所以我需要一种有效的方法。
【问题讨论】:
我有两个长度不等的向量:
vector1 <- c(1,2)
vector2 <- c(1,2,3)
我想将每个字符添加到每个其他字符并输出一个看起来像这样的矩阵:
2,3,4
3,4,5
我的实际向量非常大,所以我需要一种有效的方法。
【问题讨论】:
我们可以使用outer,这对于更大的向量会更有效
outer(vector1, vector2, `+`)
# [,1] [,2] [,3]
#[1,] 2 3 4
#[2,] 3 4 5
或者另一个选项是rep
matrix(rep(vector1, each = length(vector2)) + vector2,
nrow = length(vector1), byrow = TRUE)
或者sapply
sapply(vector2, `+`, vector1)
【讨论】: