当我将lm与循环一起使用时遇到问题。我想用xx
和yy
的每四个值来拟合回归线。lm.fit(x,y,offset = offset,singular.ok = singular.ok,...):0(non-NA)的情况下的错误
这里是我的代码,
>xx<-c(0 , 55, 146, 457, 643, 825,1008)
>yy<-c(NA, 110, 132, 108, 124, 115, 134)
>n<-length(xx)
>slop<-rep(NA,n)
>for (i in 4:n){
x<-xx[i-3:i]
y<-yy[i-3:i]
slop[i]<-lm(y~x)$coefficients[2]
}
Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
0 (non-NA) cases
谁能告诉我,为什么出现这种情况?我尝试手动执行,选取xx
和yy
的每四个值并使用lm
,然后R成功运行。
我终于找到了错误,也许这对有同样困惑的人有帮助。在循环中需要t <-i-3,否则当我取大于6的值时,R变得混乱并停止计算。 – fiona 2013-04-26 09:41:47