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

Replicating Stata's xtlogit regression for panel data in R

我正在尝试复制一个 Stata xtlogit 重新回归,它是 运行 在 R 中的面板数据上。通过面板数据,我的意思是我对不同个体(person_id)在不同年 (year_id)。我的因变量 (DV) 是二进制的。我有 2 个我想要预测的主要变量(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 模型无法重现我通过 运行ning Stata 代码获得的结果。 glmer 模型 returns 错误 "Error: pwrssUpdate did not converge in (maxit) iterations"。

如能就如何准确复制 Stata 代码计算的结果提出建议,我将不胜感激。

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

plm 中的命令 plm 不适用于面板 logit 模型,例如 xtlogit 对于 Stata。您需要查看例如包 pglm 和函数 pglm 在那里。