通过 modelplot() 的正/负值更改绘图颜色

Reu*_*ong 2 r ggplot2 modelsummary

我正在尝试使用 modelplot() 更改森林图中系数的颜色,因此正值是一种颜色,负值是另一种颜色,就像单独的plotmodel() 函数一样,

library(modelsummary)
modelplot(
    model1,
    coef_omit = 'Interc'
    ) + 
      xlim(-0.75, 0.75) +
      theme_gray() +
     labs(
    x = "Coefficient estimates and \n 95 pc confidence intervals"
  )
Run Code Online (Sandbox Code Playgroud)

但我不知道该怎么做。我尝试过使用scale_colour_gradientn() 和类似的方法,但它们不起作用。

有人对此有什么建议吗?

谢谢

All*_*ron 5

您可以通过将值映射estimate > 0到颜色美感来做到这一点:

library(modelsummary)
library(ggplot2)

model1 <- lm(hp ~ vs + drat, mtcars)

modelplot(model1) + 
  aes(color = estimate > 0) +
  scale_color_manual(values = c("red3", "green4"), guide = "none")
Run Code Online (Sandbox Code Playgroud)

创建于 2022 年 12 月 17 日,使用reprex v2.0.2