首页 > 解决方案 > 矩阵上的下标数量不正确?

问题描述

我有一个包含 5x5 矩阵的列表,并尝试使用 for 循环将列表中的每个矩阵转换为向量,如下所示,

listT<-list()
number <- 0

for(a in 0:3){
  for(i in 1:(5-a)){
    for(j in 1:(5-a)){
      A<-matrix(0,nrow=5,ncol=5)
      A[c(i:(i+a)),c(j:(j+a))]<-1
      number<-number+1
      listT[[number]]<-A

       }

   }

}


vectors<-matrix(0,25,54)
for (number in 1:54){
  vectors[,number] <- t(as.vector(listT[[number]]))
}

但它出现了错误消息“向量中的错误 [,number] <- t(as.vector(listT[[number]])):矩阵上的下标数量不正确”我想得到 54 个向量的输出长度为 25。

标签: rmatrix

解决方案


我确实在代码中添加了一行,并且没有错误。见代码:

listT <- list()
number = 0 . # --------------------------- I added this line.
for(a in 0:3){
  for(i in 1:(5-a)){
    for(j in 1:(5-a)){
      A<-matrix(0,nrow=5,ncol=5)
      A[c(i:(i+a)),c(j:(j+a))] <- 1
      number <- number+1
      listT[[number]]<-A

       }

   }

}

vectors<-matrix(0,25,54)
for (number in 1:54){
  vectors[,number] <- t(as.vector(listT[[number]]))
}

输出在这里:

> vectors
      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24]
 [1,]    1    0    0    0    0    0    0    0    0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
 [2,]    0    0    0    0    0    1    0    0    0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
 [3,]    0    0    0    0    0    0    0    0    0     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0
 [4,]    0    0    0    0    0    0    0    0    0     0     0     0     0     0     0     1     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     0     0     0     0     1     0     0     0
 [6,]    0    1    0    0    0    0    0    0    0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
 [7,]    0    0    0    0    0    0    1    0    0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
 [8,]    0    0    0    0    0    0    0    0    0     0     0     1     0     0     0     0     0     0     0     0     0     0     0     0
 [9,]    0    0    0    0    0    0    0    0    0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0
[10,]    0    0    0    0    0    0    0    0    0     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0
[11,]    0    0    1    0    0    0    0    0    0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
[12,]    0    0    0    0    0    0    0    1    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     1     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     0     1     0     0     0     0     0     0
[15,]    0    0    0    0    0    0    0    0    0     0     0     0     0     0     0     0     0     0     0     0     0     0     1     0
[16,]    0    0    0    1    0    0    0    0    0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
[17,]    0    0    0    0    0    0    0    0    1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
[18,]    0    0    0    0    0    0    0    0    0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0
      [,25] [,26] [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34] [,35] [,36] [,37] [,38] [,39] [,40] [,41] [,42] [,43] [,44] [,45] [,46] [,47]
 [1,]     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0
 [2,]     0     1     0     0     0     1     0     0     0     0     0     0     0     0     0     0     0     1     0     0     1     0     0
 [3,]     0     0     0     0     0     1     0     0     0     1     0     0     0     0     0     0     0     1     0     0     1     0     0
 [4,]     0     0     0     0     0     0     0     0     0     1     0     0     0     1     0     0     0     0     0     0     1     0     0
 [5,]     0     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0
 [6,]     0     1     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     1     1     0     0     0     0
 [7,]     0     1     1     0     0     1     1     0     0     0     0     0     0     0     0     0     0     1     1     0     1     1     0
 [8,]     0     0     0     0     0     1     1     0     0     1     1     0     0     0     0     0     0     1     1     0     1     1     0
 [9,]     0     0     0     0     0     0     0     0     0     1     1     0     0     1     1     0     0     0     0     0     1     1     0
[10,]     0     0     0     0     0     0     0     0     0     0     0     0     0     1     1     0     0     0     0     0     0     0     0
[11,]     0     0     1     1     0     0     0     0     0     0     0     0     0     0     0     0     0     1     1     1     0     0     0
[12,]     0     0     1     1     0     0     1     1     0     0     0     0     0     0     0     0     0     1     1     1     1     1     1
[13,]     0     0     0     0     0     0     1     1     0     0     1     1     0     0     0     0     0     1     1     1     1     1     1
[14,]     0     0     0     0     0     0     0     0     0     0     1     1     0     0     1     1     0     0     0     0     1     1     1
[15,]     0     0     0     0     0     0     0     0     0     0     0     0     0     0     1     1     0     0     0     0     0     0     0
[16,]     0     0     0     1     1     0     0     0     0     0     0     0     0     0     0     0     0     0     1     1     0     0     0
[17,]     0     0     0     1     1     0     0     1     1     0     0     0     0     0     0     0     0     0     1     1     0     1     1
[18,]     0     0     0     0     0     0     0     1     1     0     0     1     1     0     0     0     0     0     1     1     0     1     1
      [,48] [,49] [,50] [,51] [,52] [,53] [,54]
 [1,]     0     0     0     1     0     0     0
 [2,]     0     0     0     1     0     1     0
 [3,]     1     0     0     1     0     1     0
 [4,]     1     0     0     1     0     1     0
 [5,]     1     0     0     0     0     1     0
 [6,]     0     0     0     1     1     0     0
 [7,]     0     0     0     1     1     1     1
 [8,]     1     1     0     1     1     1     1
 [9,]     1     1     0     1     1     1     1
[10,]     1     1     0     0     0     1     1
[11,]     0     0     0     1     1     0     0
[12,]     0     0     0     1     1     1     1
[13,]     1     1     1     1     1     1     1
[14,]     1     1     1     1     1     1     1
[15,]     1     1     1     0     0     1     1
[16,]     0     0     0     1     1     0     0
[17,]     0     0     0     1     1     1     1
[18,]     0     1     1     1     1     1     1
 [ reached getOption("max.print") -- omitted 7 rows ]

推荐阅读