You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用R语言ivreg包三部分右侧符号遇阻,求解决方案

问题

使用ivreg包的三部分公式格式时遇到运行错误,代码示例如下:

# 数据
data("SchoolingReturns")

# ivreg 基础用法
library(ivreg)

ivreg(log(packs) ~ log(rprice) + log(rincome) | salestax + log(rincome), data = CigaretteDemand)

# 尝试三部分写法但无法运行
ivreg(log(packs) ~ log(rprice) | log(rincome) | salestax, data = CigaretteDemand)

根据ivreg的文档,三部分公式格式为y ~ x1 | x2 | z1 + z2,依次对应外生变量、内生变量、仅针对内生变量的工具变量,但实际使用时出错。

解决方法

你搞反了三部分公式里外生变量和内生变量的位置。

在你的基础用法模型中:

  • log(rincome)是外生变量(不需要工具变量,直接纳入模型)
  • log(rprice)是内生变量(需要用salestax作为工具变量)

而你写的三部分公式把两者位置颠倒了,正确的写法应该是把外生变量放在第一部分,内生变量放在第二部分:

ivreg(log(packs) ~ log(rincome) | log(rprice) | salestax, data = CigaretteDemand)

三部分公式的逻辑是:

  1. 第一部分:所有外生解释变量(包括控制变量,不需要工具变量的变量)
  2. 第二部分:所有内生解释变量(需要工具变量的变量)
  3. 第三部分:仅针对内生变量的工具变量(不需要重复外生变量)

这样写就和你原来的基础用法模型完全等价,同时避免了重复外生变量的繁琐。

内容的提问来源于stack exchange,提问作者Marco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 07:55:41