为R中的面板数据复制Stata的xtlogit回归

时间:2016-08-06 11:04:34

标签: r stata lme4 plm

我正在尝试复制在R中的面板数据上运行的Stata xtlogit re回归。通过面板数据,我的意思是我在不同年份(year_id)对不同的个体(person_id)有多个观察。我的因变量(DV)是二进制的。我有两个我想要预测的主要变量(IV1和IV2)和一些控制变量(some_controls)。总共我有大约40,000个观察结果。

我是使用Stata的新手,因此我可能无法识别提供给xtlogit命令的代码的相关部分。但是,据我所知,相关的Stata代码如下:

isid person_id year_id
xtset person_id year_id,y
eststo: xtlogit DV IV1 IV2 some_controls cformat(%3.2f) pformat(%3.2f) re vsquish noomitted nolog noemptycells vce(robust)

我尝试使用以下公式在R中复制它:

使用" plm"包:

plm(DV ~ IV1 + IV2 + some_controls, index = c("person_id","year_id"), model ="random", data = data_frame_name)

使用lme4包:

 glmer(DV ~ IV1 + IV2 + some_controls + (1|person_id) + (1|year_id), family = binomial, data = data_frame_name)

不幸的是,plm模型无法通过运行Stata代码重现我得到的结果。 glmer模型返回错误"错误:pwrssUpdate没有收敛(maxit)迭代"。

我很感谢有关如何完全复制Stata代码计算结果的建议。

我找到了Stata's xtlogit (fe, re) equivalent in R?。但是,我不确定该问题的解决方案将如何应用于面板数据。

1 个答案:

答案 0 :(得分:1)

plm}中的命令plm不适用于Stata等xtlogit等面板logit模型。您需要查看例如包含pglm和函数pglm