How can I generate a plot similar to that produced by plot.bugs and plot.jags from an mcmc.list? [closed]

R seems to be able to output nice summary plots from the bugs and jags objects generated by the functions R2WinBUGS::bugs and R2jags:jags.

However, I am using the rjags package. When I try to plot the results of the function rjags::coda.samples using R2WinBUGS::plot.mcmc.list the results are diagnostic plots (parameter density, chain time series, autocorrelation) for each parameter.

Below is the type of plot that I would like to produce, from Andrew Gelman’s tutorial “Running WinBuugs and OpenBugs from R”. These were produced by using the plot.pugs.

The problem is that plot.bugs takes a bugs object as an argument, while plot.mcmc.list takes the output of coda.samples.

Here is an example (from the coda.samples):

 LINE.out <- coda.samples(LINE, c("alpha","beta","sigma"), n.iter=1000)

What I need is either

  • a way to generate a similar, information-rich, one-page summary plot similar to the one produced by plot.bugs
  • a function that will convert LINE.out to a bugs object or

enter image description here


Since there are no answers, I will at least post what I have gotten so far:

The as.bugs.array function in the R2WinBUGS package was created for this purpose. According to the documentation (?as.bugs.array):

Function converting results from Markov chain simulations, that might not be from BUGS, to bugs object. Used mainly to display results with plot.bugs.

Thus, it is possible to obtain a plot from LINE.out in your example, although it does not plot the correct variables:

plot(as.bugs.array(sims.array = as.array(LINE.out)))        

It will take a little bit more work to determine the correct way to transform the LINE.out, and the LINE.samples object from example(jags.samples) may be an easier place to start.

Source : Link , Question Author : David LeBauer , Answer Author : Mark Miller

Leave a Comment