2014-11-24 103 views
1

我是R初学者,找不到任何帮助我的东西。 我想生成大小不同的随机矩阵。我想使用for循环和函数,但代替许多矩阵,它给了我一个向量。在for循环中用genweb生成随机矩阵

library(bipartite) 
zeroo <-matrix() 
for(i in 10:50){ 
    zeroo[i]<-genweb(10, i, dens=2) 
    } 
+1

尝试'zeroo < - lapply(10:50,函数(X)genweb(10,X,窝点= 2))'这会给你你矩阵的列表。这是R中不同大小对象的唯一存储选项。 – 2014-11-24 10:40:11

回答

1

for回路可以改变

col1 <- 10:50 
zeroo <- vector('list', length(col1)) #create a `list` 
for(i in seq_along(col1)){ 
    zeroo[[i]] <- genweb(10, col1[i], dens=2) # 
} 

length(zeroo) 
#[1] 41 

zeroo[[1]] 
#  [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] 
#[1,] 5 5 2 6 0 0 3 1 15  2 
#[2,] 2 2 0 1 1 0 0 0 2  0 
#[3,] 5 3 2 1 1 0 1 0 3  1 
#[4,] 3 3 3 2 1 0 0 2 6  5 
#[5,] 2 7 1 5 0 0 2 0 5  8 
#[6,] 7 3 2 1 1 0 2 0 9  0 
#[7,] 1 0 1 1 0 1 0 0 1  0 
#[8,] 4 2 3 6 0 0 0 0 6  2 
#[9,] 3 0 0 2 0 0 0 0 0  0 
#[10,] 6 3 2 4 1 2 0 0 3  2