sjPlot::plot_model - 在 2x2 面板图中绘制 3 向交互并更改固定效果的标签

问题描述

我有一个具有三向交互的 GLMM(参见下面的“m”)。交互作用项包括一个连续 (A) 和两个分类 (B & C) 固定因子。因子 B 和 C 各有 2 个水平,0 和 1。该模型还包括两个随机因子 (a & b) 和一个空间协方差项,以解释空间自相关:

library(glmmTMB)

df$pos <- numFactor(x = df$LONG,y = df$LAT)
df$group <- factor(1)    

m = glmmTMB(y ~ A * B * C + (1|a) + (1|b) + exp(0 + pos|group),data = df,REML = TRUE) 

我想制作一个包含四个面板 (2x2) 的图形,其中连续固定效应 (A) 沿所有四个面板的 x 轴绘制,第一分类固定效应 (B) 的两个级别) 绘制在两列中,第二个类别固定效应 (C) 的两个水平绘制在两行中。 IE。我希望面板显示 A x B:0 x C:0(右上角)、A x B:1 x C:0(左上角)、A x B0 x C1(右下角)和A x B:1 x C:1(左下)。

我使用以下代码通过 sjplot::plot_model 函数绘制了此交互:

library(sjplot)
library(ggplot2)

# Simplify plot aesthetics
fig <- theme_bw() + theme(panel.grid.minor=element_blank(),panel.grid.major=element_blank(),panel.background=element_blank()) + 
  theme(strip.background=element_blank(),strip.text.y = element_text()) + theme(legend.background=element_blank()) + 
  theme(legend.key=element_blank()) + theme(panel.border = element_rect(colour="black",fill=NA))

plot_model(m,type = "pred",terms =c("A","B","C"),show.data = TRUE,title = "")+ 
           fig

这会生成一个 1x2 面板图,其中 C 的两个水平绘制在单独的列中,B 的两个水平绘制为每个面板中的两个单独斜率(点击下面的链接查看图像):

plot_model output

问题 1:如何修改我的 plot_model 代码生成上述 2x2 绘图?

Q2:我还想更改每个分类因素的两个级别的标签,即我想显示文本而不是简单的“0”和“1”。我知道这可以通过在数据帧本身中进行此更改并重新运行模型来完成,但由于某些原因,这对我来说是不现实的。

谢谢。

解决方法

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

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

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