本文介绍了来自多个回归输出的摘要数据帧的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 我正在做多个OLS回归。我使用了以下lm函数: GroupNetReturnsStockPickers< - read.csv(GroupNetReturnsStockPickers.csv,header = ModelGroupNetReturnsStockPickers< - lm(StockPickersNet〜Mkt.RF + SMB + HML + WML,data = GroupNetReturnsStockPickers)名称(GroupNetReturnsStockPickers)总结(ModelGroupNetReturnsStockPickers) 哪些给我的摘要输出: 调用: lm(公式= StockPickersNet〜Mkt.RF + SMB + HML + WML,data = GroupNetReturnsStockPickers) 剩余:最小1Q中位数3Q最大 -0.029698 -0.005069 -0.000328 0.004546 0.041948 系数:估计标准错误t值Pr(> | t |)(截取)4.655e-05 5.981e-04 0.078 0.938 Mkt.RF -1.713e-03 1.202e-02 -0.142 0.887 SMB 3.006e-02 2.545e-02 1.181 0.239 HML 1.970e-02 2.350e-02 0.838 0.403 WML 1.107e-02 1.444e-02 0.766 0.444 残差标准错误:251自由度上的0.009029 多个R平方:0.01033,调整后的R平方:-0.005445 F统计:0.6548在4和251 DF,p值:0.624 这是完美的。然而,我正在做10次多重OLS回归,而且我想在数据框中创建自己的汇总输出,其中我提取了所有10个分析的截取估计值,t值估计值和p值。 。因此,它将是一个10x3,其中列名称将是Model1,Model2,..,Model10和行名称:Value,t-value和p-Value。 感谢任何帮助。 解决方案有几个软件包执行此操作(stargazer和texreg)以及 outreg 。 无论如何,如果你只对这里的拦截感兴趣是一种方法: 适合适合$ model1< - lm(Ozone〜Solar.R,data = airquality)适合$ model2< - lm(Ozone〜Solar.R + Wind,data = airquality)适合$ model3< - lm(Ozone〜Solar.R + Wind + Temp,data = airquality) #组合拦截的结果 smry< - do.call(rbind ,$($) rownames(smry)< - paste0(model,1:3)t( smry) #RESULT:#model1 model2 model3 #估算18.598727772 7.724604e + 01 -64.342078929 #标准错误6.747904163 9.067507e + 00 23.054724347 #t值2.756222869 8.518995e + 00 -2.790841389 #Pr(> | t |)0.006856021 1.052118e-13 0.006226638 I am doing multiple OLS regressions. I have used the following lm function:GroupNetReturnsStockPickers <- read.csv("GroupNetReturnsStockPickers.csv", header=TRUE, sep=",", dec=".")ModelGroupNetReturnsStockPickers <- lm(StockPickersNet ~ Mkt.RF+SMB+HML+WML, data=GroupNetReturnsStockPickers)names(GroupNetReturnsStockPickers)summary(ModelGroupNetReturnsStockPickers)Which gives me the summary output of: Call: lm(formula = StockPickersNet ~ Mkt.RF + SMB + HML + WML, data = GroupNetReturnsStockPickers)Residuals: Min 1Q Median 3Q Max-0.029698 -0.005069 -0.000328 0.004546 0.041948Coefficients: Estimate Std. Error t value Pr(>|t|)(Intercept) 4.655e-05 5.981e-04 0.078 0.938Mkt.RF -1.713e-03 1.202e-02 -0.142 0.887SMB 3.006e-02 2.545e-02 1.181 0.239HML 1.970e-02 2.350e-02 0.838 0.403WML 1.107e-02 1.444e-02 0.766 0.444Residual standard error: 0.009029 on 251 degrees of freedomMultiple R-squared: 0.01033, Adjusted R-squared: -0.005445F-statistic: 0.6548 on 4 and 251 DF, p-value: 0.624This is perfect. However, I am doing a total of 10 multiple OLS regressions, and I wish to create my own summary output, in a data frame, where I extract the Intercept Estimate, the tvalue estimate, and the p-value, for all 10 analyzes individually. Hence it would be a 10x3, where the columns names would be Model1, Model2,..,Model10, and row names: Value, t-value and p-Value.I appreciate any help. 解决方案 There's a few packages that do this (stargazer and texreg) as well as this code for outreg.In any case, if you are only interested in the intercept here is one approach:fits <- list() # Create empty list to store modelsfits$model1 <- lm(Ozone ~ Solar.R, data = airquality)fits$model2 <- lm(Ozone ~ Solar.R + Wind, data = airquality)fits$model3 <- lm(Ozone ~ Solar.R + Wind + Temp, data = airquality)# Combine the results for the interceptsmry <- do.call(rbind, lapply(fits, function(z) t(summary(z)$coefficients[1, ])))rownames(smry) <- paste0("model", 1:3)t(smry)# RESULT:# model1 model2 model3# Estimate 18.598727772 7.724604e+01 -64.342078929# Std. Error 6.747904163 9.067507e+00 23.054724347# t value 2.756222869 8.518995e+00 -2.790841389# Pr(>|t|) 0.006856021 1.052118e-13 0.006226638 这篇关于来自多个回归输出的摘要数据帧的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
09-05 18:00
查看更多