暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

R语言绘图|回归系数可视化

3268
点击关注了解更多哦

本文主要介绍如何对回归系数进行可视化。图形如下图所示,其中圆点表示回归系数估计值,上下误差线表示回归系数的95%置信区间,以0为分界线,置信区间经过0则表示该变量对应的回归系数不显著,未经过0则表示该变量对应的回归系数显著:

1、数据准备

library(tidyverse)
states <- as.data.frame(state.x77) %>% select("Murder""HS Grad""Life Exp""Illiteracy")
head(states)
#           Murder HS Grad Life Exp Illiteracy
#Alabama      15.1    41.3    69.05        2.1
#Alaska       11.3    66.7    69.31        1.5
#Arizona       7.8    58.1    70.55        1.8
#Arkansas     10.1    39.9    70.66        1.9
#California   10.3    62.6    71.71        1.1
#Colorado      6.8    63.9    72.06        0.7
states.model <- lm(Murder~. ,data = states)
summary(states.model)

model.est <- summary(states.model)$coefficients %>% round(digits = 3) %>% as.data.frame() #Estimate
model.ci <- confint(states.model) %>% round(digits = 3) %>% as.data.frame() #95% CI
model.df <- cbind(model.est,model.ci) #合并
model.df$variable <- rownames(model.df); rownames(model.df) <- NULL
model.df <- model.df %>% relocate(variable) %>% filter(variable != "(Intercept)") %>% rename("lower" = "2.5 %""upper" = "97.5 %")
model.df

2、图形绘制

2.1 geom_errorbar() 图层

# theme set
theme_set(theme_bw() + 
            theme(text = element_text(size = 15), 
                  panel.grid = element_blank()))

#geom_errorbar
ggplot(model.df, aes(variable, Estimate)) + 
  geom_errorbar(aes(ymin = lower, ymax = upper), size = 1, width = 0.3) + 
  geom_point(size = 4, alpha = 1, color = "red") + 
  #geom_point(size = 6, alpha = 0.6, color = "red") + 
  geom_hline(yintercept = 0, linetype = "dashed", size = 1) + 
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

2.2 coord_flip() 函数

ggplot(model.df, aes(variable, Estimate)) + 
  geom_errorbar(aes(ymin = lower, ymax = upper), size = 1, width = 0.3) + 
  geom_point(size = 4, alpha = 1, color = "red") + 
  geom_hline(yintercept = 0, linetype = "dashed", size = 1) + 
  theme(axis.text.x = element_text(angle = 0, hjust = 1)) + 
  coord_flip()

2.3 geom_pointrange() 图层

ggplot(model.df, aes(variable, Estimate)) + 
  geom_pointrange(aes(ymin = lower, ymax = upper)) + 
  geom_hline(yintercept = 0, linetype = "dashed", size = 1) + 
  coord_flip()

2.4 geom_linerange() 图层

ggplot(model.df, aes(variable, Estimate)) + 
  geom_linerange(aes(ymin = lower, ymax = upper)) + 
  geom_hline(yintercept = 0, linetype = "dashed", size = 1) + 
  coord_flip()

2.5 geom_linerange() + geom_pointrange() 图层

ggplot(model.df, aes(variable, Estimate)) + 
  geom_linerange(aes(ymin = lower, ymax = upper)) + 
  geom_pointrange(aes(ymin = lower, ymax = upper)) + 
  geom_hline(yintercept = 0, linetype = "dashed", size = 1) + 
  coord_flip()

回归系数可视化的主要思路为:首先进行回归模型的拟合,其次分别获得回归系数值以及95%置信区间,将二者合并到同一个dataframe中,最后选择geom_errorbargeom_pointrangegeom_linerange其中一个或多个绘图函数进行图形绘制。

3、其他

其他绘图方法可进一步阅读公众号其他文章。


如有帮助请多多点赞哦!


文章转载自日常分享的小懒猫,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论