Упорядочить коэффициенты по величине в мультиплоте
В предыдущем вопросе задавался вопрос, как можно построить коэффициенты в 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)