我正在尝试使用R进行固定效果模型
fixed1<-plm(ITEMS_STARPU ~ TREAT_SUM, data=dataHyp1.i, index=c("PRACTICE"), model = "within")
,我不断收到以下错误:
Error in plm.fit(formula, data, model, effect, random.method, random.models, : empty model
结果变量是根据GP诊所(即诊所)分配的抗生素数量,因此该指数处于诊所水平(与患者相对)
当我使用“池”时,数据有效
我阅读了先前的文章,指出问题可能出在时间段上,但是数据已经包含日期元素(数据每月收集并显示一次)
Hyp1.i <- read.csv("Hypothesis 1.i.csv", header = TRUE, na.strings = c("NA"), stringsAsFactors = FALSE)
myvarsHyp1.i<- c("PERIOD_NO", "PRACTICE", "REGIONAL_TEAM", "ITEMS_STARPU", "TREAT_SUM")
dataHyp1.i <- Hyp1.i[,myvarsHyp1.i]
table(dataHyp1.i$PERIOD_NO)
class(dataHyp1.i$PERIOD_NO)
dataHyp1.i$PERIOD_NO<-factor(dataHyp1.i$PERIOD_NO)
table(dataHyp1.i$TREAT_SUM)
class(dataHyp1.i$TREAT_SUM)
dataHyp1.i$TREAT_SUM <- factor(dataHyp1.i$TREAT_SUM, levels=c(0:2), labels=c("No Letter", "Single Letter", "Repeat Letter"))
table(dataHyp1.i$TREAT_SUM)
fixed1<-plm(ITEMS_STARPU ~ TREAT_SUM, data=dataHyp1.i, index=c("PRACTICE"), model = "within")
summary(fixed)
答案 0 :(得分:1)
您正在使用面板数据,因此您应该同时拥有横截面数据和时间序列。
所以我认为问题在于index=c("PRACTICE")
的那一部分应该是您的横截面ID和时间ID的标头,在您的情况下为PERIOD_NO。
所以我认为您首先应该写index=c("PRACTICE","PERIOD_NO")
,并且您的面板数据可能不再是空的