编辑边际效应图中置信区间的外观

Editing the appearance of the confidence intervals in a marginal effects plot

我正在使用 plot_model 从逻辑回归中生成一系列边际效应图。我想更改下图中置信区间的外观,但我想不出办法。我假设这将通过编辑 ggplot 主题来实现?

理想情况下,我希望能够缩小双杠或将其完全移除,更改线条粗细等。如果您能指出正确的方向,那将非常有帮助。

library(sjPlot) 
mtcars$am <- factor(mtcars$am)
m <- glm(vs ~ am, mtcars, family = 'binomial')
plot_model(m, type = "pred", terms = "am")

输出:

我是 ggplot2 的新手,如果有一个简单的答案,我很抱歉!

谢谢

plot_model 生成一个 ggplot 对象。使用像 sjPlot 这样的扩展包的问题在于,必须牺牲一些能力在 return 中为 ease-of-use.

自定义情节

可以在创建 ggplot 后对其进行更改,但它确实需要更改绘图的图层规范。如果您知道去哪里找,这并不太难,但对于一个相对较新的用户来说,这可能会让人望而生畏。

首先,存储你的情节:

p <- plot_model(m, type = "pred", terms = "am")

现在,如果我们想改变双杠的大小,我们可以这样做:

p$layers[[2]]$geom_params$width <- 0.01

(显然要完全摆脱它们,将其设置为 0 而不是 0.01)

要改变线条的粗细,我们可以这样做:

p$layers[[2]]$aes_params$size <- 1.4

要改变线条的颜色,我们会这样做:

p$layers[[2]]$aes_params$colour <- 'deepskyblue4'

点在线的前面而不是在线的后面也会更好看,所以我们可以像这样将后面的图层复制到前面:

p$layers[[3]] <- p$layers[[1]]

这给我们留下了以下情节:

p

但是,我们仍然可以向该图添加比例、坐标和主题以对其进行自定义,例如,我们可能希望这样做:

p + 
  theme_minimal(base_size = 20) +
  coord_cartesian() +
  theme(aspect.ratio = 1.5,
        plot.title = element_text(hjust = 0.5),
        plot.title.position = 'plot')