r中矩形矩阵到正方形矩阵的转换

r中矩形矩阵到正方形矩阵的转换,r,matrix,R,Matrix,我有一个矩形矩阵(4行16列),我试图将其转换成一个正方形(16行x 16列),多余的不相关行应该用零填充 从 到 关于如何在r中执行此操作的任何建议都将非常有用。您可以使用原始矩阵的维度添加必要的行 d <- dim(x) cn <- colnames(x) rbind(x, matrix(0, diff(d), ncol(x), dimnames = list(cn[(d[1]+1):d[2]]))) @TyroneWilliams-rownames(y)rownames(y)

我有一个矩形矩阵(4行16列),我试图将其转换成一个正方形(16行x 16列),多余的不相关行应该用零填充


关于如何在r中执行此操作的任何建议都将非常有用。

您可以使用原始矩阵的维度添加必要的行

d <- dim(x)
cn <- colnames(x)
rbind(x, matrix(0, diff(d), ncol(x), dimnames = list(cn[(d[1]+1):d[2]])))

@TyroneWilliams-
rownames(y)rownames(y)
   0 1 2 3 4 5 11 12 13 14 15 63 64 65 66 67
 0 0 1 1 1 1 1  0  0  0  0  0  0  0  0  0  0
 1 1 0 1 0 1 1  0  0  0  0  1  0  0  0  0  0
 2 1 0 0 0 0 0  1  1  1  1  0  0  0  0  0  0
 3 0 0 0 0 0 0  0  0  0  0  0  1  1  1  1  1
 4 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0
 5 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0
11 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0
12 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0
13 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0
14 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0
15 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0
63 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0
64 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0
65 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0
66 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0
67 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0
d <- dim(x)
cn <- colnames(x)
rbind(x, matrix(0, diff(d), ncol(x), dimnames = list(cn[(d[1]+1):d[2]])))
x <- 
structure(c(0L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 1L, 
0L, 0L, 0L, 1L, 1L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 
0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 
0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 
0L, 0L, 1L), .Dim = c(4L, 16L), .Dimnames = list(c("0", "1", 
"2", "3"), c("0", "1", "2", "3", "4", "5", "11", "12", "13", 
"14", "15", "63", "64", "65", "66", "67")))