在R中创建一个或多个列表列表

时间:2015-05-24 11:01:41

标签: r

我有一个矩阵列表,my_list[[1]]由矩阵组成,my_list[[2]]包含另一个矩阵,依此类推。我想在循环中嵌入这个列表,这样对于循环的每次迭代,我都有一个不同的my_list和不同的矩阵,并希望以后能够访问它们。有什么方法可以在R中做到这一点吗?例如,创建一个数组(大小=循环的迭代次数),并且该数组的每个索引将具有不同的矩阵列表。或类似的东西。我该如何访问它。有人可以帮我这个吗?我非常感谢你的帮助。我环顾四周但却无法找到办法。列表列表似乎是一个选项,我试图尝试一次迭代,但它给出了这个错误:

> nes <- list()    
> nes[[1]] <- append(nes[[1]], my_list[[1]])
Error in nes[[1]] : subscript out of bounds

如果有人能帮助我,那会很棒。

编辑: 基本上我所拥有的是一个称为粒子的初始列表。像这样:

    for (k in 1:10)
    {
      # three centroids; k = 3
      particle[[k]] <- rbind(features.dataf[sample(1:10, 1),2:4],
                           features.dataf[sample(1:10, 1),2:4],
                           features.dataf[sample(1:10, 1),2:4])
      row.names(particle[[k]]) <- c(1,2,3)
    }

Then I run this loop again. With an extra outer loop.
for (n in 1:30) {
for (k in 1:10) {
  ###some calculations
  ### create a vector f[k] with an f value for each k (calculated according to some formula)
  pbestFitness[n,k] <- f[k] ##create a nXk dataframe that stores the f[k] value for every iteration of n
 ### over here I want to create a list of lists 

}
}

在上面的代码中,我创建了列表列表,这样对于外循环的每次迭代,我都存储了一个粒子[[k]]矩阵。 任何粒子[[k]]的形式如下:

          [,1]      [,2]      [,3]
[1,] 0.96436532 0.8958297 0.6089338
[2,] 0.08555853 0.7762849 0.6647247
[3,] 0.30792817 0.8061227 0.5099790

如果我尝试访问这个新的列表列表(nes),那么所需的输出将是这样的,它的nes [[n]]值应该有一个包含k个矩阵的列表。

0 个答案:

没有答案