2017-06-13 45 views
1

我使用R程序包“splm”估计了空间面板数据上的固定效应模型。强大的平衡小组由77个县和31年的观察组成。因变量是一个作物的郡产量。当我随着时间的推移趋势和单个固定效应回归时,即使我有完美平衡的面板并且使用相同的一组县来创建空间权重矩阵,我也会得到对象长度不同的错误。R空间面板固定效应:lag.listw中的错误,对象长度不同

下面我生成了一个类似于我的数据的“面板数据集”,并且还生成了随机数字的县的经度和纬度数据。即使使用这个随机数据,也会发生相同的错误。

##generated panel data for yield 
set.seed(97531) 
yield.normal <- as.data.frame(matrix(rnorm(2387*1, mean=1.92, sd=0.5), ncol=1)) 
colnames(yield.normal) = "yield" 
yield.normal$panelid = with(yield.normal, seq(1:77)) 
yield.normal$timeid = with(yield.normal, seq(1:31)) 
yield.normal$county = with(yield.normal, as.factor(seq(1:77))) 
yield.normal$countyname = paste0("county",yield.normal$county) 
yield.normal$trnd = with(yield.normal, seq(1:31)) 

#generate coordinates of the 77 Oklahoma counties 
latitude.county = sample(36.83013180:33.90212700, size = 77, replace = T) 
longitude.county = sample(-94.81059550:-102.62162110, size = 77, replace = T) 
lat.long.data = cbind2(longitude.county,latitude.county) 
colnames(lat.long.data)=c("lon","lat") 
#Create spatial weight matrix 
distNeighbr = spdep::dnearneigh(lat.long.data, d1=0, d2=5) 
wtmat1 = spdep::nb2listw(distNeighbr, style='W') 

#Estimate the spatial fixed-effects model 
spatial.FE.model = splm::spml(yield~trnd, data = yield.normal, index = c("timeid", "panelid"), listw = wtmat1, model = "within", effect ="individual", method = "eigen") 

错误报告:对象 长度不同于

输出::

在lag.listw(listw,U,zero.policy = zero.policy)错误traceback()是如下:

8:停止(“物体长度不同”)

7:lag.listw(listw,U,zero.policy = zero.policy)

6:FUN(X [[I]],...)

5:lapply(X = (y,inde,function(u)lag.listw(listw,u,zero.policy = zero.policy),simplify = TRUE )

3:不公开(tapply(Y,印出,函数(U)lag.listw(listw,U,zero.policy zero.policy),简化= TRUE))

2:spfeml(formula = formula,data = data,index = index,listw = listw,listw2 = listw2,na.action,model = model,effects = effects, cl = cl,...)

1:splm :: spml(yield_trnd + as.factor(county)-1,data = yield.normal,index = c(“timeid”,“panelid”),listw = wtmat1,model = “within”,effect =“individual”,method =“eigen”)

请帮我解决这个问题。

回答

0

此问题已解决。 “splm”软件包的作者指出,专家组ID的设置方式存在错误。空间单位必须较慢(1,1,1,.....; 2,2,2 ...; ...; 77,77,77,...),并且时间ID必须是更快(1,2,3,...,31; ...; 1,2,3 ... 31)。在相应地设置数据后,我可以得到结果。

真诚感谢“splm”作者Drs。乔瓦尼米洛和詹弗兰科皮拉斯。

相关问题