【发布时间】:2018-05-06 21:52:55
【问题描述】:
我试图将两个不同维度的方阵组合成一个方阵,其维度是原始两个方阵的总和。我有一个 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 以及该站点中的其他一些解决方案,但没有任何效果。任何帮助表示赞赏!
【问题讨论】:
-
“我有一个 392 x 392 的矩阵和另一个 497 x 497 的矩阵。我想要的是 889 x 889 的第三个矩阵” 呃,什么?我不明白你想如何实现这一目标。如果尺寸匹配,您可以列绑定或行绑定条目。你能用一个最小的例子澄清一下吗?
-
不够清楚...你想把两个方阵放在对角线上然后周围为零吗?
-
糟糕,抱歉,我在制作可重复的示例之前先发帖。我会解决这个问题。
标签: r matrix sparse-matrix