Bagaimana saya bisa menghasilkan plot yang mirip dengan yang diproduksi oleh plot.bugs dan plot.jags dari mcmc.list? [Tutup]


9

R tampaknya dapat menampilkan plot ringkasan yang bagus dari bugsdan jagsobjek yang dihasilkan oleh fungsi R2WinBUGS :: bugs dan R2jags: jags .

Namun, saya menggunakan rjagspaket itu. Ketika saya mencoba memplot hasil fungsi rjags::coda.samplesmenggunakan R2WinBUGS::plot.mcmc.listhasilnya adalah plot diagnostik (kepadatan parameter, rangkaian waktu rantai, autokorelasi) untuk setiap parameter.

Di bawah ini adalah jenis plot yang ingin saya hasilkan, dari tutorial Andrew Gelman "Menjalankan WinBuugs dan OpenBugs dari R" . Ini diproduksi dengan menggunakan plot.pugs.

Masalahnya adalah bahwa plot.bugsmengambil bugsobjek sebagai argumen, sementara plot.mcmc.listmengambil output dari coda.samples.

Berikut ini sebuah contoh (dari coda.samples):

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

Yang saya butuhkan adalah baik

  • cara untuk menghasilkan plot ringkasan satu halaman yang mirip, kaya informasi, mirip dengan yang dihasilkan oleh plot.bugs
  • sebuah fungsi yang akan dikonversi LINE.outke objek bug atau

masukkan deskripsi gambar di sini

Jawaban:


2

Karena tidak ada jawaban, saya setidaknya akan memposting apa yang telah saya dapatkan sejauh ini:

The as.bugs.arrayfungsi dalam R2WinBUGSpaket diciptakan untuk tujuan ini. Menurut dokumentasi ( ?as.bugs.array):

Fungsi mengubah hasil dari simulasi rantai Markov, yang mungkin bukan dari BUGS, ke objek bug. Digunakan terutama untuk menampilkan hasil dengan plot.bugs.

Dengan demikian, dimungkinkan untuk mendapatkan plot dari LINE.outdalam contoh Anda, meskipun tidak memplot variabel yang benar:

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

Butuh sedikit lebih banyak pekerjaan untuk menentukan cara yang benar untuk mengubah LINE.out, dan LINE.samplesobjek dari example(jags.samples)mungkin tempat yang lebih mudah untuk memulai.


0

Sepertinya ini bekerja untuk saya:

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)

Berikut adalah contoh yang dapat direproduksi:

example(jags)
plot(jagsfit)

1
Itu adalah petunjuk yang membantu, tetapi tidak memecahkan masalah memulai dengan mcmc.list(sejauh yang saya tahu).
David LeBauer
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.