R语言plm包pgmm函数公式中|符号的具体含义是什么?
pgmm函数中
|符号的含义与作用 你提到的|是R语言plm包中pgmm函数专属的公式语法分隔符,专门用于动态面板GMM模型的工具变量设定,具体规则如下:
核心含义
|用来把模型公式拆分为两个独立部分:
- 左侧是结构回归式:即你要估计的核心因果关系,包含被解释变量和所有解释变量(内生变量+严格外生变量都写在这里)
- 右侧是工具变量列表:专门用来放置处理内生性问题的所有工具变量
对应代码拆解
你给出的代码:
model1 = pgmm(democracy~lag(democracy)+lag(income)|lag(democracy, 2:99), DemocracyIncome25, index=c("country", "year"), model="twosteps", effect="twoways")
对应的两部分逻辑是:
- |左侧
democracy~lag(democracy)+lag(income):要估计的核心关系是民主程度受自身滞后1期、收入滞后1期的影响,这里lag(democracy)是动态面板天然的内生变量(和个体固定效应、误差项相关),需要工具变量解决内生性偏误 - |右侧
lag(democracy, 2:99):指定用民主程度的第2期及以上所有可用高阶滞后项作为工具变量,这是Arellano-Bond差分GMM的标准设定,这类高阶滞后项和内生的滞后1期民主程度相关,同时和差分后的扰动项不相关,满足工具变量的两个核心假设
实际作用
- 简化语法:不需要单独传递工具变量参数,在同一个公式里就能完成核心回归关系和工具变量的双重指定
- 适配动态面板特性:支持直接批量指定多阶滞后作为工具变量,不需要手动生成几十上百个滞后项变量,大幅降低代码冗余
内容的提问来源于stack exchange,提问作者Laughingtree
相关产品推荐
相关产品推荐

