我在使用R中的plm函数时遇到了一些困难。
我正在尝试在同一数据集上运行不同的面板数据模型,并且它适用于“ between”,“ fd”和“ pooling”模型,但是not适用于“ inner”或“ random”模型。不知道我在做什么错。以下是我的代码和收到的错误消息。非常感谢您的帮助!
pdata_1<-pdata.frame(mydata_1,index=c("Country","Year"))
fd<-plm(Y~Category+Eurozone+Poverty_Rate,data = pdata_1,model = "fd")
pooled<-plm(Y~Category+Eurozone+Poverty_Rate,data = pdata_1,model = "pooling")
上面的代码有效,但是当我尝试这样做时:
within<-plm(Y~Category+Eurozone+Poverty_Rate,data = pdata_1,model = "within")
random<-plm(Y~Category+Eurozone+Poverty_Rate,data = pdata_1,model = "random")
它停止工作,并且出现此错误:
class(x)中的错误
我也尝试再次指定索引。例如这样:
within<-plm(Y~Category+Eurozone+Poverty_Rate,data = pdata_1,index=c("Country","Year"),model = "within")
但是我收到相同的错误消息。我尝试使用Google搜索,但实际上我无法理解其解释(如果有的话)。您能帮忙吗?
非常感谢!!
我无能为力。但是也许有人使用我的数据可以回答您(以及我的)问题/问题。我也有同样的问题。这是我的数据的链接:https://www.dropbox.com/s/8tgeyhxeb0wrdri/my_data.xlsx?raw=1(某些国家/地区有一些财务指标和GDP增长)
我的代码:
proba<-read_excel("my_data.xlsx")
attach(proba)
Y<-cbind(GDP_growth)
X<-cbind(gfdddi01, gfdddi02, gfdddi04, gfdddi05)
pdata<-pdata.frame(proba,index=c("id","year"))
##POOLED OLS estimator
pooling<-plm(Y~X,data=pdata,model="pooling")
summary(pooling)
##BETWEEN ESTIMATOR
between<-plm(Y~X,data=pdata,model="between")
summary(between)
#FIRST DIFFERENCES ESTIMATOR
firstdiff<-plm(Y~X,data=pdata,model="fd")
summary(firstdiff)
#FIXED EFFECT OR WITHIN ESTIMATOR
fixed <-plm(Y~X,data=pdata,model="within")
summary(fixed)
#RANDOM EFFECTS ESTIMATOR
random<- plm(Y~X,data=pdata,model="random")
summary(random)
而且我对合并,初次差估计或初次差估计没有问题->它起作用。但是内在和随机效应方法不起作用。我收到像covaova一样的错误:
class(x)中的错误