r - 矩阵上的下标数量不正确?
问题描述
我有一个包含 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。
解决方案
我确实在代码中添加了一行,并且没有错误。见代码:
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 ]
推荐阅读
- python - 在熊猫中,从日期系列中减去日期以获得天数系列
- gitlab - GitLab:我怎样才能要求仅生产的手动步骤?
- python - 由两个正态变量的比率定义的分布中的值的概率(Python)
- html - 如何设置 ::before 元素的样式和位置,使其不影响按钮大小?
- php - 图像未显示在 ckeditor 中
- python - Python:如何根据日期时间获取值的计数
- graphql - 如何在 dgraph 查询中获取子字符串
- logging - 有没有办法在节奏工作流程中使用“zerolog”记录器而不是“zap”记录器?
- domain-driven-design - DDD - 领域服务实施:领域或基础设施
- html - 如何去除图片底部的黑线