与MCMCglmm输出的交互作用图,以R为单位

问题描述

我使用R中的MCMCglmm软件包完成了许多贝叶斯模型,就像这样:

model=MCMCglmm(lifespan ~ weight * littersize,random=~idv(DNA1)+idv(DNA2),data=df,family="gaussian",prior=prior,thin=50,burnin=70000,nitt=400000,verbose=F)

因此,我获得了这种MCMCglmm输出

summary(model)
                      post.mean  l-95% CI  u-95% CI    eff.samp    pMCMC
(Intercept)           11.23327    8.368    13.73756      6228     <2e-04 ***
weight                -1.63770   -2.059    -1.23457      6600     <2e-04 ***
littersize             0.40960    0.024     0.80305      6600     0.0415 *  
weight:littersize     -0.33411   -0.635    -0.04406      5912     0.0248 *   

我想绘制使用MCMCglmm运行的贝叶斯线性模型的结果。我发现要绘制贝叶斯线性模型结果的大多数示例都需要在绘制函数中运行模型,但是我想知道是否可以转换MCMCglmm的输出,以便可以将其用作已经存在的绘制函数的输入可用。我想使用我的MCMCglmm模型的输出,因为它们使用两个随机因素运行,并且运行起来也有些耗时,所以我想避免不得不在另一个程序或程序包中重新运行模型。

如果我使用非贝叶斯方法运行相同的模型,只需给出一些额外的信息:

model2<-lm(lifespan ~ weight * littersize,data=df)

我获得以下输出

summary(model2)
                         Estimate   Std. Error   t value    Pr(>|t|)    
(Intercept)               11.8846     0.1626     73.073    < 2e-16 ***
weight                    -1.8955     0.1557    -12.175    < 2e-16 ***
littersize                 0.6142     0.1805      3.403     0.00100 ** 
weight:littersize         -0.4340     0.1423     -3.050     0.00302 **

我可以这样绘制:

p2 <- interact_plot(model2,pred = weight,modx = littersize,plot.points = TRUE,jitter = 0.1,point.shape = TRUE,x.label = "weight (kg)",y.label = "lifespan (years)",main.title = "lifespan ~ sqrt(weight) * litter size",legend.main = "litter size")
p2 + theme_apa()

获取此交互图:

interaction plot example

如果可能的话,我想用上述的MCMCglmm输出获得这种图。

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)