Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中循环矩阵的生成_R_Loops_Matrix - Fatal编程技术网

R中循环矩阵的生成

R中循环矩阵的生成,r,loops,matrix,R,Loops,Matrix,嗨,我想创建15个不同列的矩阵,我尝试了以下代码 for(i in 1:15){Di=matrix(0,i,1000)} for(i in 1:15){for(k in 1:i){for(j in 1:1000){Di[k,j]=runif(1,-1,1)}}} 但是Di没有为我创建D1、D2和矩阵Di作为一个完整的矩阵,我如何创建15个不同的矩阵?你应该使用列表来实现这一点: l <- vector(mode="list", length=15) for (i in seq(al

嗨,我想创建15个不同列的矩阵,我尝试了以下代码

for(i in 1:15){Di=matrix(0,i,1000)}
for(i in 1:15){for(k in 1:i){for(j in 1:1000){Di[k,j]=runif(1,-1,1)}}}

但是
Di
没有为我创建D1、D2和矩阵
Di
作为一个完整的矩阵,我如何创建15个不同的矩阵?

你应该使用
列表来实现这一点:

 l <- vector(mode="list", length=15)

 for (i in seq(along=l)) {
   l[[i]] <- matrix(runif(i*1000, -1, 1), nrow=1000, ncol=i)
 }

l谢谢你,但是现在l[2]应该有两列,我怎么做呢?我希望l[1]有一列1000行,l[2]有两列1000行,所以请你继续,但是现在l[2]应该有两列,我希望l[1]有一列1000行,我怎么做呢有2列1000行,所以很令人担忧,但最后一个问题是,我如何才能到达例如l[4]行500列3?@user3528850
矩阵(runif((i-1)*500,-1,1),nrow=500,ncol=(i-1))
?我的意思是,在创建之后,我只想直接读取l[a]行b和c的值,我的意思是像l[a,b,c]或者类似的,我只想得到值,抱歉,如果这是一个伪问题,我用你的代码创建了矩阵,现在我只想读取值l[a]列a和行b