Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.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 试图从大mcmc.list中提取时内存耗尽_R_Winbugs_Jags_R Coda - Fatal编程技术网

R 试图从大mcmc.list中提取时内存耗尽

R 试图从大mcmc.list中提取时内存耗尽,r,winbugs,jags,r-coda,R,Winbugs,Jags,R Coda,试图从大mcmc.list中提取单个变量时遇到问题: > x <- outRJ$mcmc[,'avail_int'] Error: cannot allocate vector of size 146.8 Mb 但是单个变量应该只有234KB!但是提取它似乎需要更多的记忆 如何在不需要太多内存的情况下从大型mcmc.list中提取内容?我认为这应该可以: x <- as.mcmc.list(lapply(outRJ$mcmc, function(x) return(x[,'

试图从大
mcmc.list
中提取单个变量时遇到问题:

> x <- outRJ$mcmc[,'avail_int']
Error: cannot allocate vector of size 146.8 Mb
但是单个变量应该只有234KB!但是提取它似乎需要更多的记忆


如何在不需要太多内存的情况下从大型mcmc.list中提取内容?我认为这应该可以:

 x <- as.mcmc.list(lapply(outRJ$mcmc, function(x) return(x[,'avail_int',drop=FALSE])))

x当前的子集代码(在函数[.mcmc.list中)在子集之前对列表的每个元素进行复制。我已经在coda的开发版本中修改了代码。与此同时,Matt的解决方法应该可以做到,因为它还避免了冗余副本

 x <- as.mcmc.list(lapply(outRJ$mcmc, function(x) return(x[,'avail_int',drop=FALSE])))