0

我已经运行了一系列线性模型,我希望能够输出特定年份的残差并将这些残差与公司相匹配。

数据与下图类似

Year    Company         pctEarn
1990    3M Company      0.295918367
1991    AT&T            0.251497006
1992    Ford            0.293233083
1993    Microsoft       0.264705882

运行 LM 的循环如下所示

fits <- list()

for(i in 2000:2012){
  dtSub <- subset(dt, Year <= i)
  fit <- lm(pctEarn ~ Year + Company, data = dtSub)
  fits[[i - 1999]] <- fit
}

我遇到的问题是从输出中检索特定公司的残差。

理想情况下,我能够为每个回归创建一个输出,如下所示

Year Company    pctEarn    Predicted  Residual
1990 3M Company 0.2959     0.4523     0.16000
Etc......

任何提示将不胜感激。

4

1 回答 1

0

因此,我发现对于大型回归并不理想的是简单地建立一个累积回归结果的数据框,然后我可以将其拆分。

out <- data.frame()
for(i in 2000:2012){
  dtSub <- subset(dt, Year <= i)
  fit <- lm(pctEarn ~ y2 + Company, data = dtSub)
  fits[[i - 1999]] <- fit
  dtSub$fitted <- fitted(fit)
  dtSub$resid <- residuals(fit)
  dtSub$reg <- i
  out <- rbind(out, dtSub)
}
于 2013-10-31T03:34:24.800 回答