年、国、および会社の識別子を含むデータのパネルがあります。を使用して、各年の国のサブセットにロジット モデルを当てはめたいと思いdata.table
ます。モデルに適合するために各年の国サブセットに十分なエントリがある場合は問題ありませんが、年と国のサブセットに十分なデータがない場合glm
、エラーがスローされ、すべてのモデルに適合できません。 . (本質的には と同じエラーが発生しlm
ます。)
内に解決策はありますdata.table
か? それとも、データが不十分な年の国のサブセットがないことを確認するために、上流でデータを整理する必要がありますか?
ありがとう!
library(data.table)
# similar data
DT <- data.table(year=rep(2001:2010, each=100),
country=rep(rep(1:10, each=10), 10),
firm=rep(1:100, 10),
y=round(runif(100)),
x=runif(100)
)
setkey(DT, year, country)
# no problems if there are enough data per year-country subset
DT2 <- DT[, as.list(coef(glm(y ~ x), family="binomial")), by="year,country"]
# but `lm` throws and error if there are missing data
DT[(DT$year == 2001) & (DT$country == 1), "y"] <- NA
DT3 <- DT[, as.list(coef(glm(y ~ x, family="binomial"))), by="year,country"]
収量
> DT3 <- DT[, as.list(coef(glm(y ~ x, family="binomial"))), by="year,country"]
Error in family$linkfun(mustart) :
Argument mu must be a nonempty numeric vector