R回归循环

  • 本文关键字:循环 回归 r
  • 更新时间 :
  • 英文 :


我正在尝试编写一个R脚本,该脚本将通过每1000行数据进行回归运行。

我也想将输出存储到CSV文件中。

数据链接:https://drive.google.com/open?id=0b-w2dyw4qjomq0f1zfhsdwjorhm

任何帮助都很好!

 z <- read.csv("Merge.csv", sep=",", header=TRUE, stringsAsFactors=FALSE)

co<-matrix(NA, nrow=44, ncol = 7)
## Regression for mkt returns and 7 variables 
for (i in 5:44){
  cat(i)
  temp <- lm(ret~earningsyld+book2mkt+leverage+corptax+financials+Momentum+lnmktcap, na.action="na.omit", data = z[1000*(i-1)+1:1000*i,])
  co[i,]<- summary(temp)$coefficient [2:8,1]
}
# Built-in example data
data("mtcars")
mtcars <- rbind(mtcars,mtcars,mtcars,mtcars,mtcars,mtcars,
                mtcars,mtcars,mtcars,mtcars,mtcars)
# Let's pretend that instead of 1000 rows it's 10, so that I can use builtin data to show you
co<-matrix(NA, nrow=35, ncol = 1)
## Regressions 
for (i in 1:floor(nrow(mtcars)/10)){
  cat(i)
  temp   <- lm(mpg~cyl, na.action="na.omit", data = mtcars[((i-1)*10)+1:(i*10),])
  co[i,] <- summary(temp)$coefficients[2:2,1]
}
head(co)
          [,1]
[1,] -1.696939
[2,] -3.461047
[3,] -2.572180
[4,] -2.651129
[5,] -3.023638
[6,] -2.712391

我相信您的索引以及摘要对象的coefficients元素的拼写不正确。任何其他问题都将是数据问题,因此,如果您在此之后仍然有问题,请务必提供数据。

例如,如果数据中存在问题(奇异性,所有缺失值,没有识别变化等)会导致系数的不可估量性,则它将改变返回的摘要的大小并打破循环。唯一的解决方案是清洁数据或更改模型以避免使用不良数据。

最新更新