1

上一个问题询问如何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?我意识到这可能并不简单。我只是想知道我是否遗漏了什么。

4

1 回答 1

4

我不知道如何使用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)

在此处输入图像描述

于 2016-10-23T01:42:10.820 回答