我正在使用 sjplot 包和 R 中的函数plot_model (max.m3) 绘制 GlmmTMB 模型的结果。代码如下:
p=sjPlot::plot_model(max.m3, type="pred", grid = F)
这是绘制的六个图形。但是,我想定义 y 轴范围(范围从 0 到 10)并显示中断(0,5,10 = 以便刻度线出现在 0、5 和 10)。
不幸的是,我没有找到解决方案来做到这一点。
最佳答案
如果绘制所有模型项的边际效应,plot_model()
返回 ggplot 对象的列表。然后,您只需使用 ggplot-commands 即可修改列表中的每个图。
m <- lm(mpg ~ hp + gear + cyl + drat, data = mtcars)
p <- sjPlot::plot_model(m, type = "pred", grid = FALSE)
p[[1]] + scale_y_continuous(limits = c(15, 30), breaks = c(15, 25, 30))
p[[2]] + scale_y_continuous(limits = c(5, 40), breaks = c(15, 25, 40))
...
如果您想对所有绘图应用相同的 y 限制和中断,您可以循环列表,例如:
library(ggplot2)
m <- lm(mpg ~ hp + gear + cyl + drat, data = mtcars)
p <- sjPlot::plot_model(m, type = "pred", grid = FALSE)
lapply(p, function(i) i + scale_y_continuous(limits = c(15, 30), breaks = c(15, 25, 30)))
关于r - 在包 sjPlot::plot_model() 中定义 y 轴范围和中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56347191/