如何从mcmc.list生成类似于plot.bugs和plot.jags生成的图?[关闭]


9

R似乎能够从R2WinBUGS :: bugsR2jags:jags函数生成的bugsjags对象中输出漂亮的摘要图。

但是,我正在使用该rjags软件包。当我尝试rjags::coda.samples使用R2WinBUGS::plot.mcmc.list结果绘制函数结果时,是每个参数的诊断图(参数密度,链时间序列,自相关)。

下面是我想制作的绘图类型,来自安德鲁· 盖尔曼( Andrew Gelman)的教程“ R中运行WinBuugs和OpenBugs”。这些是使用制作的plot.pugs

问题是plot.bugs将一个bugs对象作为参数,而plot.mcmc.list将的输出作为参数coda.samples

这是一个示例(来自coda.samples):

 library(rjags)
 data(LINE)
 LINE$recompile()
 LINE.out <- coda.samples(LINE, c("alpha","beta","sigma"), n.iter=1000)
 plot(LINE.out)

我需要的是

  • 一种生成相似的,信息丰富的一页摘要图的方法,类似于 plot.bugs
  • 将转换LINE.out为bug对象的函数,或者

在此处输入图片说明

Answers:


2

既然没有答案,我至少会发表到目前为止的内容:

包中的as.bugs.array功能R2WinBUGS就是为此目的而创建的。根据文档(?as.bugs.array):

将来自马尔可夫链模拟的结果(可能不是来自BUGS)的函数转换为错误对象。主要用于显示plot.bugs的结果。

因此,LINE.out尽管示例中没有绘制正确的变量,但仍可以从示例中获得图表:

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

要确定转换的正确方法,还需要花费更多的工作LINE.out,并且LINE.samplesexample(jags.samples)那里开始对象可能会更容易。


0

以下内容似乎对我有用:

require(R2jags)
m <-jags(data=d,inits=i,pars,n.iter=1000,n.chains=3,model.file="foo.txt",DIC=F)
m <- autojags(m)
plot(m)

这是一个可重现的示例:

example(jags)
plot(jagsfit)

1
这是一个有用的线索,但是并不能解决以mcmc.list(据我所知)开头的问题。
David LeBauer
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.