Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.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
Performance R中的预分配列表_Performance_R_List_Memory - Fatal编程技术网

Performance R中的预分配列表

Performance R中的预分配列表,performance,r,list,memory,Performance,R,List,Memory,在R中,在循环中扩展数据结构是低效的。如何预先分配一定大小的列表matrix通过ncol和nrow参数简化了这一过程。如何在列表中实现这一点?例如: x <- list() for (i in 1:10) { x[[i]] <- i } xvector可以创建所需模式和长度的空向量 x <- vector(mode = "list", length = 10) x类似这样的东西: x <- vector('list', 10) x为了扩展@Jilber

在R中,在循环中扩展数据结构是低效的。如何预先分配一定大小的
列表
matrix
通过
ncol
nrow
参数简化了这一过程。如何在列表中实现这一点?例如:

x <- list()
for (i in 1:10) {
    x[[i]] <- i
}

x
vector
可以创建所需模式和长度的空向量

x <- vector(mode = "list", length = 10)
x类似这样的东西:

   x <- vector('list', 10)

x为了扩展@Jilber所说的内容,
lappy
是专门为这种类型的操作而构建的

您可以使用以下方法代替for循环:

x <- lapply(1:10, function(i) i)

x你也可以做
x我发现自己大约每2-3个月就会回到这个答案上来