r - 在R中添加两个向量之间的每个组合
问题描述
我有两个长度不等的向量:
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)
推荐阅读
- r - dplyr::mutate 根据多个条件和字符串向量(或 tidyselect)传递的相应变量名称创建新变量
- javascript - 重新加载后本地存储重置
- database - 范围分区表上的全局和本地索引方法
- mysql - 子查询返回超过 1 行 - 多选 MySQL
- c# - C# 不包含“GetAwaiter”的定义,最好的扩展方法重载需要“Task”类型的接收器
- asp.net - 使用了命名连接字符串,但在应用程序的配置中找不到名称“tumoDB”。.Net 核心 3.0 REST API
- kubernetes - 在 Spinnaker 中映射 kubernates 卷属性
- java - 如何将布尔值传递给java中的存储过程
- apache-kafka - 如何在 Kafka 中删除消费者组成员
- html - 如何在不使用absolute的情况下将元素定位在父元素内