比如我有个回归结果如下
see = lm(月回报倍数~EML+BMS+MKT,Sheet)
summary(see)#查看结果如下
----------------------------------------------------------------------------------------------回归结果----------------------
Call:
lm(formula = 月回报倍数 ~ EML + BMS + MKT, data = Sheet)
Residuals:
Min 1Q Median 3Q Max
-1.05948 -0.00623 0.01157 0.03176 0.47770
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.9928336 0.0002345 4233.835 <2e-16 ***
EML 0.0663942 0.0010399 63.847 <2e-16 ***
BMS -0.0562787 0.0058365 -9.642 <2e-16 ***
MKT -0.0047332 0.0021377 -2.214 0.0268 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.127 on 564301 degrees of freedom
(因为不存在,37265个观察量被删除了)
Multiple R-squared: 0.007669, Adjusted R-squared: 0.007664
F-statistic: 1454 on 3 and 564301 DF, p-value: < 2.2e-16
---------------------------------------------------------------------------------------------------------------------------------
怎么把这个结果输出?
先下载个包:
install.packages("stargazer")
载入这个stargazer包
library(stargazer)
然后就可以输出了:
stargazer(see,type="html",no.space=T,align=T,report="vc*t",out="主回归结果.doc")
这样得到的就是word形式的文档。(像这样只有文件名,前面没路径的,默认存储在和代码文件同一个文件夹下,退出去能找到。)
文件名是”主回归结果.doc“,内容是前面存好的变量see,其他参数照抄就行。
如果对具体格式不满意,比如t值不想要 t = 0.05“的样子,想要写成(0.05),可以在运行最后那行代码之前,按以下流程修改:
首先运行
trace(stargazer:::.stargazer.wrap,edit=T)
会跳出来个框,像这样:
找到
format.t.stats.left <- "t = "
format.t.stats.right <- "t = "
这两行:
改成
format.t.stats.left <- "( "
format.t.stats.right <- ") "
像这样:
然后保存退出就行。stargazer函数已经被调教成你喜欢的样子啦~
之后再正常运行
stargazer(see,type="html",no.space=T,align=T,report="vc*t",out="主回归结果.doc")
就能得到一样的输出结果,只是t值变成了(0.005)的模样。
---------------------------------------------------------------------------------------------------------------------------------
PS
找代码那部分相当麻烦,运气好的可以用 ctrl F快速查找,运气不好的用不了这个功能,只能手动找。可以先复制下来放到txt里,再用ctrl F快速查找,大概看看在哪个位置,然后回去R修改,要快一点。
运气最差的,可能会看到这种风景:
这种时候不要慌,ctrl A 全选,屏幕立马就干净不花了,之后正常走流程就行。要是又花了就再全选。
(别问我为什么,我也不知道,我就是最倒霉的那个)