densityplot()
来自格子包。运行以下命令,我得到每页/图的一个图,而不是页/图中排列的所有6个图。为什么?此处output
是BRugsFit()
与coda=TRUE
的返回,其中有78个参数和2个链,我从中选择了6个参数:
Sigma12 = mcmc.list(list(output[[1]][,2], output[[2]][,2]))
Sigma22 = mcmc.list(list(output[[1]][,3], output[[2]][,3]))
alpha1 = mcmc.list(list(output[[1]][,4], output[[2]][,4]))
beta1 = mcmc.list(list(output[[1]][,5], output[[2]][,5]))
gamma_alpha_1 = mcmc.list(list(output[[1]][,75], output[[2]][,75]))
gamma_beta_1 = mcmc.list(list(output[[1]][,77], output[[2]][,77]))
> par(mfrow=c(2,3));
> densityplot(Sigma12, main="Sigma12")
> densityplot(Sigma22, main="Sigma22")
> densityplot(alpha1, main="alpha1")
> densityplot(beta1, main="beta1")
> densityplot(gamma_alpha_1, main="gamma_alpha_1")
> densityplot(gamma_beta_1, main="gamma_beta_1")
>
> class(Sigma12)
[1] "mcmc.list"
事情也不能与acfplot()
中的coda
一起解决:</ p>
par(mfrow=c(2,3));
acfplot(Sigma12, main="Sigma12")
acfplot(Sigma22, main="Sigma22")
acfplot(alpha1, main="alpha1")
acfplot(beta1, main="beta1")
acfplot(gamma_alpha_1, main="gamma_alpha_1")
acfplot(gamma_beta_1, main="gamma_beta_1")
但它适用于traceplot()
的{{1}}。
coda
在上述代码中将par(mfrow=c(2,3));
traceplot(Sigma12, main="Sigma12")
traceplot(Sigma22, main="Sigma22")
traceplot(alpha1, main="alpha1")
traceplot(beta1, main="beta1")
traceplot(gamma_alpha_1, main="gamma_alpha_1")
traceplot(gamma_beta_1, main="gamma_beta_1")
更改为mcmc.list()
也不会产生任何影响。
答案 0 :(得分:2)
为了跟进,我在评论中很简洁,因为我在手机上。使用?densityplot
中的示例,用法如下:
library(lattice)
library(gridExtra)
p1 <- densityplot( ~ height | voice.part, data = singer, layout = c(2, 4),
xlab = "Height (inches)", bw = 5)
grid.arrange(p1,p1,nrow = 1)