[英]R: Storing matrix values to another matrix
我有以下代碼:
mat=matrix(c(0,0,0), nrow=6, ncol=1)
value=matrix();
k=1
repeat{
mat[]=as.matrix(rep(k), nrow=6, ncol=1)
print(mat)
#value[,k]=mat
if(k==3){
break
}
k=k+1
}
我在哪里創建矩陣mat
在每次迭代中,所述矩陣的值mat
被生成的是:
[,1]
[1,] 1
[2,] 1
[3,] 1
[4,] 1
[5,] 1
[6,] 1
[,1]
[1,] 2
[2,] 2
[3,] 2
[4,] 2
[5,] 2
[6,] 2
[,1]
[1,] 3
[2,] 3
[3,] 3
[4,] 3
[5,] 3
[6,] 3
我想將它們存儲在矩陣value
,如下所示:
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 1 2 3
[3,] 1 2 3
[4,] 1 2 3
[5,] 1 2 3
[6,] 1 2 3
這只是一個測試示例,因為我的實際矩陣將很大,並且迭代次數未知,因此當滿足條件時實際算法將停止。
您可以這樣簡單地修改代碼
mat=matrix(c(0,0,0), nrow=6, ncol=1)
k=1
mat.list <- list() # store each iteration in a list
repeat{
mat.list[[k]] <- matrix(rep(k), nrow=6, ncol=1)
print(mat)
#value[,k]=mat
if(k==3){
break
}
k=k+1
}
do.call(cbind, mat.list) # combine all list elements into a matrix
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 1 2 3
[3,] 1 2 3
[4,] 1 2 3
[5,] 1 2 3
[6,] 1 2 3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.