我想了解 in 的输出如何对extract
后rstan
验样本进行排序。我知道我可以通过使用查看每个链的后验样本as.array
,
stanfit <- sampling(
model,
data = stan.data)
fitarray <- as.array(stanfit)
例如,fitarray[, 2, 1]
会给我第一个参数的第二个链的样本。将后验样本存储在输出中的一种方法是extract
将它们连接起来。当我做,
fit <- extract(stanfit)
mean(fitarray[,2,1]) == mean(fit$ss[1001:2000])
对于几个链和参数,我总是得到TRUE
(ss
是第一个参数)。这使得后验样本似乎被连接到fit
. 然而,当我这样做时,
fitarray[,2,1] == fit$ss[1001:2000]
我明白FALSE
了(确认不仅仅是精度差异)。似乎fitarray
并且fit
以不同的方式存储迭代。如何分别查看每个后验样本链的迭代(按顺序)?