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

如何使用fixest::feols进行固定效应回归时获取截距项?

如何在fixest::feols执行固定效应回归时获取截距项?

用fixest::feols跑固定效应回归时,默认输出里看不到截距项——这是因为固定效应模型会对变量做组内 demean 处理,截距项直接被各组的固定效应吸收了。而Stata的reghdfe会显示的_cons是总体均值截距,你可以按以下方法在R里算出这个值:

第一步:先跑回归并保存模型

先执行回归,把模型存下来方便后续计算:

library(fixest)
mod <- feols(Sepal.Length ~ Sepal.Width | Species, iris)

默认输出只会显示解释变量的系数:

Estimate Std. Error t value  Pr(&gt;|t|)    
Sepal.Width 0.803561   0.071397 11.2548 0.0078023 ** 

第二步:计算对应Stata的_cons(总体均值截距)

Stata里的_cons本质是响应变量的总体均值,减去解释变量系数乘解释变量均值,再减去固定效应的均值。直接按这个逻辑计算即可:

# 计算Sepal.Length的总体均值
y_mean <- mean(iris$Sepal.Length)
# 计算系数×Sepal.Width的均值
x_term <- coef(mod) * mean(iris$Sepal.Width)
# 提取固定效应并计算均值
fe_mean <- mean(fixef(mod))
# 得到总体截距
cons <- y_mean - x_term - fe_mean
cons
# 结果为3.38658,和Stata的_cons完全一致

对比Stata的reghdfe结果

在Stata中执行相同逻辑的回归,会直接输出_cons:

ssc install reghdfe
use http://www.stata-press.com/data/r17/iris, clear
reghdfe seplen sepwid , ab(Species) cl(Species)

输出结果:

|               Robust
       seplen |      Coef.   Std. Err.      t    P&gt;|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
       sepwid |   .8035609   .0713974    11.25   0.008     .4963625    1.110759
        _cons |    3.38658   .2182857    15.51   0.004     2.447372    4.325788

额外:获取各组的截距项

如果需要每个物种对应的组内截距,直接用fixef()提取即可:

fixef(mod)

运行后会显示每个Species分组对应的截距值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 12:04:52