مشاكل شعرية: التحف شعرية قادمة من النتوءات، ولكن لا يمكن تعيين جهاز

StackOverflow https://stackoverflow.com/questions/1641488

  •  08-07-2019
  •  | 
  •  

سؤال

وركضت JAGS مع runjags في R وحصلت قائمة العملاقة الظهر (النتائج التي سميت باسم هذا المثال).

ومتى يمكنني الوصول إلى results$density، وهما lattice plots (واحد لكل معلمة) يطفو على السطح في الجهاز الكوارتز الافتراضية.

وأنا بحاجة إلى الجمع بين هذه مع par(mfrow=c(2, 1)) أو مع نهج مماثل، وإرسالها إلى pdf device.

لا شيء حاولت يعمل. أي أفكار؟

ولقد حاولت dev.print، pdf() مع dev.off()، وما إلى ذلك مع أي حظ.

هل كانت مفيدة؟

المحلول

وإليك طريقة للتخلي عن "V1" لوحات من التلاعب في هيكل تعريشة:

p1 <- results$density$c
p2 <- results$density$m

p1$layout <- c(1,1)
p1$index.cond[[1]] <- 1   # remove second index
p1$condlevels[[1]] <- "c"   # remove "V1"
class(p1) <- "trellis"   # overwrite class "plotindpages"

p2$layout <- c(1,1)
p2$index.cond[[1]] <- 1   # remove second index
p2$condlevels[[1]] <- "m"   # remove "V1"
class(p2) <- "trellis"   # overwrite class "plotindpages"

library(grid)
layout <- grid.layout(2, 1, heights=unit(c(1, 1), c("null", "null")))
grid.newpage()
pushViewport(viewport(layout=layout))
pushViewport(viewport(layout.pos.row=1))
print(p1, newpage=FALSE)
popViewport()
pushViewport(viewport(layout.pos.row=2))
print(p2, newpage=FALSE)
popViewport()
popViewport()

عاء من c.trellis () يؤدي http://img142.imageshack.us /img142/3272/ctrellisa.png

نصائح أخرى

وأسهل طريقة للجمع بين المؤامرات هي استخدام النتائج المخزنة في نتائج $ MCMC:

# prepare data, see source code of "run.jags"
thinned.mcmc <- combine.mcmc(list(results$mcmc),
                             collapse.chains=FALSE,
                             return.samples=1000)
print(densityplot(thinned.mcmc[,c(1,2)], layout=c(1,2),
                  ylab="Density", xlab="Value"))

وعلى سبيل المثال، للمثال شملت من run.jags، والتحقق من بنية القائمة باستخدام

sink("results_str.txt")
str(results$density)
sink()

وبعد ذلك سترى المكونات المسمى <م> تخطيط . يمكن تعيين تخطيط لمدة المؤامرات من كل متغير باستخدام

results$density$m$layout <- c(1,2)
print(results$density$m)

والمؤامرات لمعايير مختلفة يمكن الجمع بين استخدام أسلوب c.trellis من حزمة latticeExtra.

class(results$density$m) <- "trellis"   # overwrite class "plotindpages"
class(results$density$c) <- "trellis"   # overwrite class "plotindpages"
library("latticeExtra")
update(c(results$density$m, results$density$c), layout=c(2,2))

إخراج c.trellis http://img88.imageshack.us/img88/ 6481 / ctrellis.png

وثمة نهج آخر هو استخدام منافذ العرض grid:

library("grid")
results$density$m$layout <- c(2,1)
results$density$c$layout <- c(2,1)
class(results$density$m) <- "trellis"
class(results$density$c) <- "trellis"
layout <- grid.layout(2, 1, heights=unit(c(1, 1), c("null", "null")))
grid.newpage()
pushViewport(viewport(layout=layout))
pushViewport(viewport(layout.pos.row=1))
print(results$density$m, newpage=FALSE)
popViewport()
pushViewport(viewport(layout.pos.row=2))
print(results$density$c, newpage=FALSE)
popViewport()
popViewport()

انتاج شبكة http://img88.imageshack.us/img88/5967/grida بابوا نيو غينيا

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top