Порядок выведения значений в панели данных R - PullRequest
0 голосов
/ 04 мая 2020

Я использую несбалансированный набор данных панели в пакете R plm. Поскольку в 2010 году отсутствует одна переменная и для некоторых переменных есть нулевые значения, я сделал два шага:

#puts the panel data into a pdata.frame
dd <- pdata.frame(panel, index = c ('UF', 'year'))

#Takes out the year 2010
year <- dd$year
dd <- dd[year!=2010, ]

#Takes out values where population equals zero
pop <- dd$pop
dd_1 <- dd[pop!= 0,]

#Renames all variables
PIB <- dd_1$PIB
DT <- dd_1$despesa
RT <- dd_1$receita
#.....

#Runs an OLS model
ols_model <- plm(log(PIB) ~ mortinf + log(prod) + op  + log(DT) + Gini + I(log(DT)*Gini) + log(RT) + log(pop),  data = dd_1, model = "pooling")
summary (ols_model)

Однако, когда я сделал, как описано выше, я не смог построить график значений переменные в графиках (потому что dd_1 $ GDP, например, не считается вектором). Поэтому я изменил порядок манипулирования данными: вместо того, чтобы помещать данные в data.frame, я сначала вынул значения из панели, а затем указал в модели OLS, какие были индексы для года и единицы.

year <- panel$year
dd <- panel[year!=2010,]

#Takes out observations where pop == 0
pop <- dd$pop
dd_1 <- dd[pop!=0, ]

#Renames variables

GDP <- dd_1$GDP
DT <- dd_1$DT
#...
#This way I could plot, for example, GDP x DT in a graph
#Then I ran an OLS model:
ols_model <- plm(log(PIB) ~ mortinf + log(prod) + op  + log(DT) + Gini + I(log(DT)*Gini) + log(RT) + log(pop),  
data = dd_1, model = "pooling", index = c ('UF', 'year'))
summary (ols_model)

#But it gave different results than the first OLS!

В моем понимании обе модели должны были давать одинаковые результаты, но они были очень разными. Может ли кто-нибудь помочь мне? Какой правильный путь? Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...