本文主要介绍5种保存R语言中回归结果的方法,分别为利用基础的summary() 函数保存,以及利用broom、stargazer、kableExtra、sjPlot等package进行保存,其结果可以直接导出到word或Excel中做进一步调整。
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")



附:tab_model()参数

6、其他
对于函数的具体用法或参数详情,可进一步利用help() 函数进行查看。标准化回归系数可参考R数据分析|标准化回归系数,回归系数可视化可参考R语言绘图|回归系数可视化。其他绘图方法或数据分析方法可进一步阅读公众号其他文章。
如有帮助请多多点赞哦!
文章转载自日常分享的小懒猫,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




