r - 在包 sjPlot::plot_model() 中定义 y 轴范围和中断

标签 r

我正在使用 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/

相关文章:

R Markdown : Can't access Bash command installed through Conda/Anaconda

r - 根据每行中列的相对顺序对矩阵中的行进行排序

r - 使用transform和plyr在R中添加计数列

r - 如何使用 bnlearn 和 graphviz 绘制具有实例化节点的贝叶斯网络?

R时间序列数据,每天只有工作日

r - 循环遍历数据帧的列并将值除以另一个数据帧中按列名称索引的值?

根据另一个数据框中的列删除行

r - 基于 R 中变量名称的求和

r - 使用 R shiny 中的 sliderInput 动态渲染等值线图

regex - 用 R 中的正则表达式解析(可能)不存在的数字