У меня возникли некоторые проблемы при выполнении регрессий plm в базе данных моей панели. По сути, я должен вычесть год из своей базы, а также все наблюдения некоторой переменной, которые равны нулю. Я попытался сделать воспроизводимый пример, используя набор данных из пакета AER.
require (AER)
library (AER)
require(plm)
library("plm")
data("Grunfeld", package = "AER")
View(Grunfeld)
#Here I randomize some observations of the third variable (capital) as zero, to reproduce my dataset
for (i in 1:220) {
x <- rnorm(10,0,1)
if (mean(x) >=0) {
Grunfeld[i,3] <- 0
}
}
View(Grunfeld)
panel <- Grunfeld
#First Method
#This is how I was originally manipulating my data and running my regression
panel <- Grunfeld
dd <-pdata.frame(panel, index = c('firm', 'year'))
dd <- dd[dd$year!=1935, ]
dd <- dd[dd$capital !=0, ]
ols_model_2 <- plm(log(value) ~ (capital), data=dd)
summary(ols_model_2)
#However, I couuldn't plot the variables of the datasets in graphs, because they weren't vectors. So I tried another way:
#Second Method
panel <- panel[panel$year!= 1935, ]
panel <- panel[panel$capital != 0,]
ols_model <- plm(log(value) ~ log(capital), data=panel, index = c('firm','year'))
summary(ols_model)
#But this gave extremely different results for the ols regression!
Насколько я понимаю, оба подхода должны были дать одинаковые результаты в регрессии OLS. Теперь я боюсь, что весь мой анализ неверен, потому что я делал это как первый способ. Может ли кто-нибудь объяснить мне, что происходит? Заранее спасибо!