如何将多个ERGM估计的MCMC诊断图合并至同一图形?
合并多个ERGM模型的MCMC诊断图
要把多个ERGM模型的MCMC诊断图合并到同一画布,核心思路是先提取每个模型的诊断图对象,再用图形组合工具完成拼接。以下是具体实现方案:
完整代码示例
library(ergm) library(latticeExtra) library(gridExtra) data(florentine) # 拟合两个ERGM模型 model1 <- ergm(flomarriage ~ edges + kstar(2)) model2 <- ergm(flomarriage ~ edges + kstar(2) + triangle) # 提取诊断图对象(设置plot=FALSE避免直接绘图) plot1 <- mcmc.diagnostic(model1, plot = FALSE) plot2 <- mcmc.diagnostic(model2, plot = FALSE) # 合并图形:按2行1列排列 grid.arrange(plot1, plot2, nrow = 2) # 可选:用lattice原生方式实现并排展示 # plot(c(plot1, plot2), layout = c(2, 1))
关键说明
mcmc.diagnostic()默认会直接弹出绘图窗口,设置plot = FALSE后会返回可编辑的lattice图形对象,方便后续组合。gridExtra::grid.arrange()支持灵活调整布局,通过nrow/ncol参数控制行列数量;latticeExtra::c.trellis()则适合快速拼接同类型的trellis图形。
内容的提问来源于stack exchange,提问作者Daniele
相关产品推荐
相关产品推荐

