面板线性模型(使用plm包)返回“model.matrix()中的模型框架和公式不匹配”

时间:2016-01-25 00:19:57

标签: r panel linear-regression plm

我正在尝试从我拥有的面板数据计算线性模型。

它看起来像这样:

model <- plm((log(GDP)-log(lag(GDP,5))) ~ log(lag(GDP,5)) + (lag(Gini,5)) 
+ GFCF + Schooling, data=data.01, index=c("Country", "Year"), model="within")

小组看起来像这样

Country  Year   GDP     Gini   GFCF  Schooling
A        1970   21400   0.33   0.22   10.11
A        1971   21350   0.34   0.23   10.70
A        1972   21600   0.33   0.23   10.90
B        1970   18500   0.29   0.17    9.80
B        1971   19000   0.28   0.17    9.90
B        1972   20800   0.28   0.15   10.50

知道为什么R会一直回来吗?

series Gini, X are NA and have been removed
Error in model.matrix.default(mt, data = data, ...) : 
  model frame and formula mismatch in model.matrix()

1 个答案:

答案 0 :(得分:0)

我的猜测是,您没有足够的数据来计算lag(GDP, 5)lag(Gini, 5),因此,您将获得NA作为返回值。看起来你只有3年可用,但你要求这些变量的第5个滞后。

直接在控制台中尝试lag(data.01$GDP, 5)并查看该输出[如果data.01是pdata.frame,如果没有,请将其转换为此类。]