我正在使用 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的新手,如果有一個簡單的答案,很抱歉!
謝謝
uj5u.com熱心網友回復:
plot_model產生一個ggplot物件。使用類似擴展包的問題sjPlot在于,必須犧牲一些自定義情節的能力以換取易用性。
可以在創建 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')

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/483765.html
