是否为运行时缓慢添加list()对象?

时间:2016-02-13 02:08:19

标签: r list

我定义了一个list()对象,并将5x5矩阵添加到列表中。总共有100个矩阵。我现在的方式是:

database = list()
for (i in 1:100) {
  database[[i]] = ...
}

我听说在R中,预分配空间而不是连续调整大小必须更快 - 在这种情况下,是否可以定义大小为100的列表而不是连续添加到列表中,因为代码正确现在?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用vector功能预先分配列表。以下代码段创建一个长度为100的列表。

database <- vector('list', 100)

实际上,如果我使用相同的顺序逻辑填充列表的所有元素,我没有从预分配中获得太多的性能提升。