[英]Memory exhausted trying to extract from big mcmc.list
我在嘗試從大mcmc.list
提取單個變量時mcmc.list
:
> x <- outRJ$mcmc[,'avail_int']
Error: cannot allocate vector of size 146.8 Mb
outRJ$mcmc
mcmc.list很大,實際上為442 MB(包含3個鏈的數據,例如960個變量,每20000次迭代):
> object.size(outRJ$mcmc)/1024/1024
[1] 442.5508 #
但是單個變量應該只有234 kB! 但是提取它似乎需要更多的內存!
我認為這應該工作:
x <- as.mcmc.list(lapply(outRJ$mcmc, function(x) return(x[,'avail_int',drop=FALSE])))
馬特
當前的子設置代碼(在[.mcmc.list函數中)正在對列表的每個元素進行復制,然后再進行子設置。 我已經修改了Coda開發版中的代碼。 同時,Matt的變通辦法應該這樣做,因為它還避免了冗余副本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.