add_brackets () не работает с coefplot :: coefplot.glm () - PullRequest
0 голосов
/ 16 июня 2020

У меня есть график coefplot::coefplot.glm(), к которому я хотел бы добавить скобки на оси Y (add_brackets()). Он работает с образцом dwplot():

library(broom)
library(dplyr)
library(dotwhisker)

data(mtcars)

m1 <- lm(mpg ~ wt + cyl + disp, data = mtcars) # model

two_brackets <- list(c("Engine", "Cylinder", "Displacement"),
                     c("Not Engine", "Intercept", "Weight"))

{dwplot(m1, show_intercept = TRUE) %>%
    relabel_predictors("(Intercept)" = "Intercept",
                       wt = "Weight",
                       cyl = "Cylinder",
                       disp = "Displacement") +
    theme_bw() + xlab("Coefficient") + ylab("") +
    theme(legend.position="none") +
    geom_vline(xintercept = 0, colour = "grey50", linetype = 2)} %>%
  add_brackets(two_brackets)

Этот пример работает нормально, но я хотел бы создать аналогичный график, используя coefplot::coefplot.glm(), но я не могу заставить его работать. Этот код вызывает ошибку Error in UseMethod("ggplot_build"): no applicable method for 'ggplot_build' applied to an object of class "list", и я не могу найти решение. Кто-нибудь может мне помочь?

two_brackets_coefplot <- list(c("Engine", "cyl", "disp"),
                              c("Not Engine", "(Intercept)", "wt"))
coefplot::coefplot.glm(m1,
                       coefficients = c("(Intercept)", "wt",
                                        "cyl", "disp"),
                       xlab = "Coefficient values",
                      ylab = NULL,
                      outerCI = 2.58, lwdOuter = 1,
                      pointSize = 2.5,
                      linetype = 1, cex = cex, textAngle = 0,
                      numberAngle = 90, zeroColor = "grey", zeroLWD = .01, zeroType = 1,
                      intercept = FALSE) +
  add_brackets(two_brackets)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...