R语言probitmfx实现含国家固定效应的Probit回归报错解决
解决Probit回归引入固定效应的问题
首先排查你遇到的报错:
- 代码里的自变量写的是
laons,但数据集里变量是loans,这是拼写错误,先修正这个。 - 确认
data_post数据框中确实存在ccode变量,可通过str(data_post)或names(data_post)检查变量列表。
以下是几种引入ccode固定效应的可行方法:
方法1:提前将ccode转为因子变量(适配probitmfx)
先在数据中把ccode转换为因子类型,再代入公式,避免公式内转换时的变量查找问题:
# 将ccode转为因子 data_post$ccode <- as.factor(data_post$ccode) # 修正拼写错误后运行回归 probitmfx(crisisJST ~ loans + ccode, clustervar1 = "iso", data = data_post)
方法2:用fixest包高效处理固定效应Probit并计算边际效应
fixest包专门针对面板固定效应模型做了优化,支持Probit模型且能直接计算边际效应,比手动生成虚拟变量更高效:
library(fixest) # 拟合带ccode固定效应的Probit模型,聚类标准误设为iso mod <- feprobitt(crisisJST ~ loans | ccode, data = data_post, cluster = "iso") # 计算平均边际效应 margins(mod)
公式语法中,|后面的部分就是固定效应变量,无需手动生成虚拟变量。
注意事项
Probit模型引入个体固定效应时存在** incidental参数问题**,样本量较小时可能导致估计偏误。如果面板时间维度(T)较大,这个偏误可以忽略;若T较小,可考虑使用条件Probit模型,或者改用线性概率模型(LPM)做近似(用feols拟合LPM后计算边际效应)。
内容的提问来源于stack exchange,提问作者Tanja
相关产品推荐
相关产品推荐

