首页 > 解决方案 > 多元回归Excel

问题描述

我想以非常特定的格式将多次回归的结果导出到 excel 文件中

MWS

data("mtcars")
str(mtcars)
m1<-lm(hp ~ disp, data = mtcars)
m2<-lm(hp ~ disp + wt, data = mtcars)

我发现这种格式最合适:

library(texreg)
screenreg(list(m1, m2))

===================================
             Model 1     Model 2   
-----------------------------------
(Intercept)   45.73 **    68.84 *  
             (16.13)     (31.80)   
disp           0.44 ***    0.54 ***
              (0.06)      (0.14)   
wt                       -14.45    
                         (17.10)   
-----------------------------------
R^2            0.63        0.63    
Adj. R^2       0.61        0.61    
Num. obs.     32          32       
RMSE          42.65       42.85    
===================================
*** p < 0.001, ** p < 0.01, * p < 0.05

我想将以上内容转换为数据框或任何类似内容,以便将其导出为 excel,并保留其格式

欢迎其他可以生成类似表格并将其导出到 excel 的想法。

对我来说最重要的是导出每个上面都有 * 的系数,这样我就可以理解在每个新回归中哪个是重要的。

你能帮我吗?

标签: rexportregressionlm

解决方案


您可以使用stargazer库,我认为它非常接近您的要求,

例如:

library(stargazer)

l1 <- lm(mpg ~ hp + drat, data=mtcars)
l2 <- lm(mpg ~ disp + hp, data=mtcars)

stargazer(l1, l2, title= "Regression comparision", type="html")

这里 type = "text" 生成如下表,但是您可以将其更改为 html 并生成 html 等效项,如果您将 html 复制并粘贴到纯文本文件并将其保存为 htm/html 然后在浏览器中打开,您将获得格式良好的表格。

如何导出到excel:使用type="html"运行命令,将html复制到excel sheet,就是这样。Excel 将能够将整个 html 转换为漂亮的图表,如屏幕截图。

在此处输入图像描述


推荐阅读