我一直试图将相同的循环用于不同的目的,它总是显示编程的系列的最后一行。我需要选择每六列,从第一列开始,从25(到30)结束
for(i in seq(1,25,by=6)) {
print(describe(scores[,c(i:i+5)]))
}
显示的信息仅对应于列25:30;什么可能是错误的,它不会在循环中打印每个系列? 谢谢!
修改
还有一个循环不起作用,似乎有其他原因:
P <- array(0, dim=c(1032,7,5))
for(i in seq(1,25,by=6)) {
for (j in 1:5) {
P[,1:6,j] <- scores[,c(i:(i+5))]
P[,7,j] <- scores[,j+30]
}
}
显示错误消息:Incorrect number of subscripts
。还尝试flush.console()
但没有成功。
答案 0 :(得分:0)
如果要在循环中显示所有打印命令,则必须添加
flush.console()
打印命令后的循环内部:
for(i in seq(1,25,by=6)) {
print( describe( scores[,i:(i+5)] ) )
flush.console()
}
修改强>
看起来像这个突击队
P[,1:6,j] <- scores[,c(i:(i+5))]
将P转换为列表。这有帮助吗?
答案 1 :(得分:0)
这个答案不会涉及到循环问题,但是如果您只想要describe
(来自Hmisc
- 包?)的输出用于这些特定列,则可能会有所帮助:
一些示例数据:
scores <- matrix(rep(sample(1:10,10),25),nrow=10,ncol=25)
dimnames(scores) <- list(1:10,LETTERS[1:25])
library(Hmisc)
describe(scores[,seq(1,25,6)])
这是有效的,因为for
循环已构建到Hmisc:::describe
函数中。