1

我想手动对 a 中的系数进行排序coefplot。以前的问题只能通过 (decreased) 实现排序magnitude,这不是我想要的。

考虑下面的例子:

library(coefplot)
data(tips, package = "reshape2")
mod1 <- lm(tip ~ day + sex + smoker + sex * smoker, data = tips)
coefplot.glm(mod1)

我如何在不依赖于它们的大小的情况下sexMale:smokerYes在顶部和daySat, dayThudaySun然后是其余的)上实现系数阶?

提前感谢您为我指出解决方案。:)

4

1 回答 1

3

因为coefplot.glm()正在输出一个ggplot对象,所以您可以访问数据对象并重新调整 y 因子:

创建ggplot对象

library(coefplot)
data(tips, package = "reshape2")
mod1 <- lm(tip ~ day + sex + smoker + sex * smoker, data = tips)
gg <- coefplot.glm(mod1)
gg

在此处输入图像描述

重新调整 y 因子

gg$data$Coefficient <- factor(gg$data$Coefficient, levels = rev(c("sexMale:smokerYes", "daySat", "dayThur", "daySun", "smokerYes", "sexMale", "(Intercept)")))
gg

在此处输入图像描述

于 2021-01-27T19:42:00.937 回答