1
我試圖應用下面的代碼,並且它對任何沒有NA值的數據都能正常工作。然而,當我包括數據與NA值I收到以下消息:在循環中應用lm後出現錯誤
Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : 0 (non-NA) cases
我使用的代碼是:
m <- data.frame(matrix(ncol = 5, nrow = length(unique(df$Year))*length(unique(df$Firm))))
enter code here
l = 0
for(i in unique(df$Year)) {
for(j in unique(df$Firm)) {
l = l + 1
mod<-lm(Ri ~ RM + Rz, data = df, subset = df$Year==i & df$Firm ==j)
m[l,] <- c(i,
as.character(j),
mod$coefficients[2],
mod$coefficients[3],
summary(mod)$sigma)
}
}
names(m) <- c("Year", "Firm", "B1", "B2","e")
這是關於我使用的數據的一個示例:
Year Firm Ri Rm Rz
2009 A 30 55 NA
2009 A 0 55 NA
2009 A 1 55 NA
2010 A 7 55 85
2010 A 15 NA 85
2011 A 0 55 85
2011 A 3.5 55 85
2011 A 8 NA 85
2009 B 24 55 85
2009 B 30 55 85
2009 B 25 55 85
2010 B 5.2 NA 85
2010 B 11.8 55 85
2011 B 0 55 NA
2011 B 90 55 NA
2011 B 57 55 NA
任何建議?
從上面的數據問題
你如何試試'data = subset(df,.....)'? – Gopala
如果您發佈了數據框'df'的樣本,那麼可能有更好的一段代碼可以幫助您。 – Gopala
謝謝@Gopala的建議 –