Как изменить порядок коэффициентов на графике коэффициентов в R (пакет dotwhisker) - PullRequest
0 голосов
/ 29 января 2020

Вот пример кода из официальной документации пакета.

#Package preload
library(dotwhisker)
library(broom)
library(dplyr)

# run a regression compatible with tidy
m1 <- lm(mpg ~ wt + cyl + disp + gear, data = mtcars)
m2 <- update(m1, . ~ . + hp) # add another predictor

m1_df <- tidy(m1) %>% filter(term != "(Intercept)") %>% mutate(model = "Model 1")
m2_df <- tidy(m2) %>% filter(term != "(Intercept)") %>% mutate(model = "Model 2")

two_models <- rbind(m1_df, m2_df)

dwplot(two_models)

, который производит это:

coefficient plot

Самый логичный порядок внутри графика будет иметь коэффициенты из модели 1 Модель выше 2. В любом случае я хотел бы знать, как управлять порядком коэффициентов из разных моделей (а не порядком самих переменных). Я попытался отсортировать аккуратный фрейм данных с помощью order или разложить столбец модели с помощью factor. Ни одна из двух не работает. Любой совет будет приветствоваться.

1 Ответ

1 голос
/ 29 января 2020

Вы можете изменить порядок коэффициентов, переупорядочив ваш аккуратный кадр данных. Возможная проблема может заключаться в том, что порядок легенды также изменяется, но это также можно исправить.

dwplot(arrange(two_models, desc(model))) + 
  scale_color_discrete(breaks=c("Model 1","Model 2"))

enter image description here

...