我在试图从大型mcmc.list中提取单个变量时遇到了问题
> x <- outRJ$mcmc[,'avail_int']
Error: cannot allocate vector of size 146.8 MboutRJ$mcmc mcmc.list很大,实际上是442 MB (包含3个链的数据,每个变量有960个,每次迭代20000次):
> object.size(outRJ$mcmc)/1024/1024
[1] 442.5508 #但是单变量应该只有234个kB!但是它的提取似乎需要更多的内存!
如何在不需要太多内存的情况下从大型mcmc.list中提取?
发布于 2015-03-16 11:06:27
当前的子设置代码(在函数[.mcmc.list)中)正在对列表的每个元素进行复制,然后再对其进行设置。我已经修改了coda开发版本中的代码。在此期间,马特的解决办法应该做,因为它也避免了多余的副本。
发布于 2015-03-16 08:21:07
我认为这应该是可行的:
x <- as.mcmc.list(lapply(outRJ$mcmc, function(x) return(x[,'avail_int',drop=FALSE])))哑光
https://stackoverflow.com/questions/29053356
复制相似问题