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

R语言stargazer导入平均边际效应误认系数为常数问题咨询

问题解决方法

问题根源

你使用的模板回归Fake_RE默认包含截距项,stargazer会严格匹配模板模型的系数顺序:模板的系数排列为【截距→X→Z】共3个位置,你传入的2个边际效应会按顺序填充前两个位置,最终导致X的边际效应被填入截距位、Z的边际效应被填入X位、Z位空置,就是你观察到的异常结果。

解决方案

方案1:修改模板回归为无截距形式(最简便)

你只是用Fake_RE作为表格结构模板,不需要用到它本身的估计结果,直接构建无截距的模板即可让系数顺序和你的边际效应顺序完全匹配:

# 修改模板回归,去掉截距项
Fake_RE <- glm(Y ~ X + Z - 1, data = DF, family=binomial())

# 原调用无需额外参数,输出自然无常数项
stargazer(list(Fake_RE), type = "text",
          coef = list(Test_DF$estimate),
          se = list(Test_DF$std.error))

方案2:不修改模板,手动补位+删除常数项

如果不想改动模板回归,只要给传入的系数、标准误向量首位补NA占住截距位,再用omit参数删除常数项即可:

stargazer(list(Fake_RE), type = "text",
          coef = list(c(NA, Test_DF$estimate)), # 首位补NA对应模板的截距位
          se = list(c(NA, Test_DF$std.error)),
          omit = "Constant") # 移除常数项行

正常输出示例

两种方案都会得到符合预期的表格:

=============================================
                      Dependent variable:    
                  ---------------------------
                               Y             
---------------------------------------------
X                            0.002           
                            (0.001)          
                                             
Z                           -0.001           
                            (0.001)          
                                             
---------------------------------------------
Observations                 1,000           
Log Likelihood             -690.097          
Akaike Inf. Crit.          1,386.194         
=============================================
Note:             *p<0.1; **p<0.05; ***p<0.01

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 13:18:04