2016-01-25 7 views
0

Я пытаюсь вычислить линейную модель из панельных данных, которые у меня есть.панель линейная модель (с использованием пакета plm) возвращает «модель рамки и несоответствие формулы в model.matrix()»

Это выглядит примерно так:

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() 

ответ

0

Я предполагаю, что у вас нет достаточно данных для lag(GDP, 5) и lag(Gini, 5) быть вычислен и, таким образом, вы получаете Акрополя как возвращаемые значения. Похоже, у вас есть только 3 года, но вы просите 5-ое отставание от этих переменных.

Попробуйте lag(data.01$GDP, 5) непосредственно в консоли и посмотрите на этот вывод [если data.01 является pdata.frame, если нет, преобразуйте его в такое].