以下是官方软件包文档中的一些示例代码。
#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)这会产生这样的结果:

图中最符合逻辑的顺序是模型1的系数高于模型2的系数。在任何情况下,我都想知道如何控制不同模型中系数的顺序(而不是变量本身的顺序)。我尝试使用order对整齐的数据帧进行排序,或者使用factor对模型列进行分解。这两种方法都不起作用。任何建议都是非常受欢迎的。
发布于 2020-01-29 21:13:01
您可以通过重新排序整洁的数据帧来更改系数的顺序。一个可能的问题可能是图例顺序也会更改,但这也可以修复。
dwplot(arrange(two_models, desc(model))) +
scale_color_discrete(breaks=c("Model 1","Model 2"))

https://stackoverflow.com/questions/59965173
复制相似问题