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

R数据分析|回归结果保存

4676
点击关注了解更多哦

本文主要介绍5种保存R语言中回归结果的方法,分别为利用基础的summary() 函数保存,以及利用broomstargazerkableExtrasjPlotpackage进行保存,其结果可以直接导出到wordExcel中做进一步调整。

0、回归结果

library(dplyr)
# 数据准备
states <- as.data.frame(state.x77)
head(states)
#           Population Income Illiteracy Life Exp Murder HS Grad Frost   Area
#Alabama          3615   3624        2.1    69.05   15.1    41.3    20  50708
#Alaska            365   6315        1.5    69.31   11.3    66.7   152 566432
#Arizona          2212   4530        1.8    70.55    7.8    58.1    15 113417
#Arkansas         2110   3378        1.9    70.66   10.1    39.9    65  51945
#California      21198   5114        1.1    71.71   10.3    62.6    20 156361
#Colorado         2541   4884        0.7    72.06    6.8    63.9   166 103766
str(states)
#'data.frame': 50 obs. of  8 variables:
# $ Population: num  3615 365 2212 2110 21198 ...
# $ Income    : num  3624 6315 4530 3378 5114 ...
# $ Illiteracy: num  2.1 1.5 1.8 1.9 1.1 0.7 1.1 0.9 1.3 2 ...
# $ Life Exp  : num  69 69.3 70.5 70.7 71.7 ...
# $ Murder    : num  15.1 11.3 7.8 10.1 10.3 6.8 3.1 6.2 10.7 13.9 ...
# $ HS Grad   : num  41.3 66.7 58.1 39.9 62.6 63.9 56 54.6 52.6 40.6 ...
# $ Frost     : num  20 152 15 65 20 166 139 103 11 60 ...
# $ Area      : num  50708 566432 113417 51945 156361 ...
 
lm.model <- lm(Murder ~ Population + Income + Illiteracy , data = states)
summary(lm.model) #查看回归结果

1、base package

利用基础的summary() 函数,索引其coefficients,可以得到变量的具体回归系数
标准误
t值
以及p值

summary(lm.model)$coefficients %>% round(digits = 3) %>% as.data.frame()

2、 broom package

利用broom包中的tidy() 函数可将回归结果自动输出为tidy样式

library(broom)
tidy(lm.model)

3、stargazer package

利用stargazer包中的stargazer() 函数可将回归结果输出为论文中常见的回归系数加标准误形式

stargazer::stargazer(lm.model, type = "text")

4、kableExtra package

利用broom包中的tidy() 函数和kableExtra包中的kbl()kable_classic() 函数可将回归结果进一步整理成表格形式

library(broom)
library(kableExtra)

tidy(lm.model) %>% kbl(caption="Tab.1 Regression", digits = 3, format= "html", align="l") %>%
  kable_classic(full_width = F, html_font = "helvetica")

5、sjPlot package

利用sjPlot包中的tab_model() 函数可将回归结果直接输出到word文档中(添加file参数)。tab_model() 函数中参数较多,展示回归结果的要素多样,可根据自己的需要进行选择。所有参数见文末附录。

library(sjPlot)
# 结果1
tab_model(lm.model) 
#结果2
tab_model(lm.model, show.intercept = TRUE, show.se = TRUE, show.stat = TRUE, show.std = TRUE,
          show.r2 = TRUE, p.style = "numeric_stars", show.obs = FALSE, title = "Regreesion"
#结果3
tab_model(lm.model, show.intercept = TRUE, show.se = TRUE, show.stat = TRUE, show.std = TRUE,
          show.r2 = TRUE, p.style = "numeric_stars", show.obs = FALSE, title = "Regreesion", file = "result.docx")

结果1
结果2
结果3

附:tab_model()参数

6、其他

对于函数的具体用法或参数详情,可进一步利用help() 函数进行查看。标准化回归系数可参考R数据分析|标准化回归系数,回归系数可视化可参考R语言绘图|回归系数可视化。其他绘图方法或数据分析方法可进一步阅读公众号其他文章。


如有帮助请多多点赞哦!


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

评论