我目前正在mitools
分析 5 个估算数据集(我使用了 Amelia)。分析单位是国家年。每个数据集有超过 3600 个观测值。所有分析感兴趣的因变量是滞后计数变量。
鉴于数据的性质(面板和计数),我决定使用pglm package
. 我一直在使用以下代码来尝试估计所有五个估算数据集的 pglm 模型,以便将这些估计与 mitools 结合起来:
setwd("C:/Desktop")
library(mitools)
library(pglm)
#The data.dir code below establishes where the files are located
data.dir <- "C:/Desktop"
#The imputationList function combines all 5 imputed gtot datasets into one object
#called allgtot
allcountdata <- imputationList(lapply(list.files(data.dir, pattern = "panelcount.\\.dta", full=TRUE),read.dta, warn.missing.labels=FALSE))
#To see if the combining was successful
allcountdata
#Lets see if all of the column names are still there
colnames(allcountdata)
count_mitools<-pglm(count_lag ~
HROsec
+ hrofilled
+ physint
+ democracy
+ log(PopTotal)
+ GDPpercapita
+ cell
+ gini
+ polity2
+ CivilWar
+ milper
+ elp
+ factor(year),
allcountdata,
family="negbin",
model="within",
print.level=0,
method="nr",
index=c("cowcode", "year"))
但是,我收到以下错误:
Error in is.finite(x[[i]]) :
default method not implemented for type 'list'
我尝试将列表对象强制转换为数据框,如下所示:
as.data.frame(allcountdata)
但是,R 声明我不能这样做。
我该怎么做才能使 pglm 估计工作?
如果我不能使用 pglm,那么适用于面板计数数据回归分析的替代模型(和相应的 R 包)是什么(最好是两者):
a) 与 mitools 分析兼容
b) 接受列表对象进行估计
我提供了一个压缩 zip 文件的链接,该文件包含我在这里使用的所有五个估算数据集。