首页 > 解决方案 > 在R中添加两个向量之间的每个组合

问题描述

我有两个长度不等的向量:


vector1 <- c(1,2)
vector2 <- c(1,2,3)

我想将每个字符添加到每个其他字符并输出一个看起来像这样的矩阵:


2,3,4
3,4,5

我的实际向量非常大,所以我需要一种有效的方法。

标签: rvector

解决方案


我们可以使用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)

推荐阅读