r - 将 2 个方阵组合成另一个方阵,其中包含 R 中的所有元素
问题描述
我试图将两个不同维度的方阵组合成一个方阵,其维度是原始两个的总和。我有一个 392 x 392 的矩阵和另一个 497 x 497 的矩阵。我想要的是 889 x 889 的第三个矩阵。
例如,如果我有矩阵 a 和矩阵 b,如下所述:
a <- matrix(sample(0:1, 25, replace=T), nrow=5, ncol=5)
b <- matrix(rep(0,16 ), nrow=4, ncol=4)
rownames(a) <- letters[1:5]
colnames(a) <- letters[1:5]
rownames(b) <- letters[6:9]
colnames(b) <- letters[6:9]
我将如何获得如下所示的矩阵 c:
{c <- matrix(c(0,1,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), nrow=10,ncol=10)
我已经尝试了 gdata 包中的 cbindX 以及该站点的其他一些解决方案,但没有任何效果。任何帮助表示赞赏!
解决方案
如果我真的理解这个问题......使用这个:
C <- Matrix::bdiag(a, b) %>%
as.matrix
此命令将创建一个块对角矩阵。
推荐阅读
- android - 如何更改 TFlite 模型输出的维数?
- jsf - 在类型上找不到函数:org.primefaces.expression.SearchExpressionUtils
- typescript - 如何断言两个接口在 TypeScript 中包含相同的键?
- c# - 如何从网络表单中获取 JWT 令牌
- c++ - 学习如何输出递增的变量
- wordpress - 如何从忍者表单中获取上传文件的谷歌驱动链接
- java - Sling/OSGi 请求范围对象问题。如何访问过滤器和服务类中对象的相同实例(在相同的请求上下文中)?
- git - 在 RPi 上使用 Github PAT 的推荐策略
- sonarqube - SonarQube 扫描仪和 Jenkins 并行构建
- c# - 如何在 WinForm DataGridView 中为一行着色并隐藏用于设置颜色的列?