【发布时间】:2014-02-13 18:48:58
【问题描述】:
这里有一个循环问题,我不能完全正确。
我希望矩阵 (w) 的每一行在时间“d”内重复填充矩阵 (mat)。矩阵(运行)只是这样我可以通过记录通过矩阵(w)运行的值来检查我的循环是否正确运行。
这是我现在的编码:
x<-c(0,0,0,0)
y<-c(0,0,0,0)
z<-c(10,50,100,150)
a<-8
b<-4
d<-5
w<-cbind(x,y,z)
run<-matrix(0, ncol=3, nrow=d, byrow=T)
for(h in 1:d){
mat<-matrix(0, ncol=3, nrow=a, byrow=T)
for(j in 1:a){
for(i in 1:b){
mat[j,]<- w[i,]
}
}
run[h,]<-mat[1,]
}
我填写矩阵 (mat) 的方式肯定有问题,因为我重复输入相同的值而不是按顺序输入。在这种情况下正确的语法应该是什么?
编辑:抱歉,澄清一下。我想运行我的循环 5 次,并且对于每次运行,创建一个矩阵(mat)(见下文),其中填充了矩阵 (w) 的后续行。
V1 V2 V3
1 0 0 10
2 0 0 10
3 0 0 10
4 0 0 10
5 0 0 10
V1 V2 V3
1 0 0 50
2 0 0 50
3 0 0 50
4 0 0 50
5 0 0 50
等等等等……
【问题讨论】:
-
w[rep(1:nrow(w), each = d), ]?