[R] Computing ergodic mean with CODA
Ben Bolker
bbolker at gmail.com
Sun Nov 7 22:55:54 CET 2010
Raquel Rangel de Meireles Guimarães <raquelrguimadem <at> gmail.com> writes:
>
> Hi all,
>
> I would like to compute ergodic mean using MCMC output from WinBUGS. I
> tried using CODA package, but it seems that it is not implemented yet.
>
> Could anyone help me to compute this? Attached to this email are my
> output and index files.
>
> Kind regards,
>
> Raquel
>
> --
[the data were not in the most convenient form;
one of the preferences is for a *small* reproducible
example ... I cut & pasted them into a file to
recreate the original mcmc object].
Based on a quick look at [Ntzoufras, Ioannis. 2009. Bayesian modeling using
WinBUGS. John Wiley and Sons.], I think cumsum(x)/(1:length(x)) is the
ergodic mean (essentially a running cumulative mean).
x <- read.table("~/R/misc/ergod.dat")
library(coda)
v <- as.mcmc(matrix(x[,2],nrow=5000))
em <- sweep(apply(v,2,cumsum),1,(1:nrow(v)),"/")
library(reshape)
m <- melt(em)
xyplot(value~X1|X2,type="l",data=m,
scales=list(y=list(relation="free")))
More information about the R-help
mailing list