Упорядочить коэффициенты по величине в мультиплоте

В предыдущем вопросе задавался вопрос, как можно построить коэффициенты в coefplot в порядке убывания. Ответ должен был включать sort = 'magnitude'

Однако затем я обнаружил, что этот метод не работает при построении нескольких моделей с использованием multiplot:

data(tips, package = "reshape2")
mod1 <- lm(tip ~ day + sex + smoker, data = tips)
mod2 <- lm(tip ~ day + sex + smoker + size, data = tips)
multiplot(mod1, mod2, decreasing = TRUE, sort = "magnitude")

Есть ли способ сделать это с multiplot? Я понимаю, что это может быть не так просто. Мне просто интересно, если я что-то упустил.

1 ответ

Я не знаю, как это сделать с coefplot(), но я могу предложить решение с аналогичным dotwhisker пакет:

Подходящие модели:

data(tips, package = "reshape2")
mod1 <- lm(tip ~ day + sex + smoker, data = tips)
mod2 <- lm(tip ~ day + sex + smoker + size, data = tips)

library(dotwhisker)
## figure out order
ov <- names(sort(coef(mod2),decreasing=TRUE))
dwplot(list(mod1=mod1,mod2=mod2),order_vars=ov)+
    theme_bw()+
    geom_vline(xintercept=0,lty=2)

введите описание изображения здесь

Другие вопросы по тегам