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

在R中自动构建年份-国家交互固定效应模型的方法

在R中实现年份-国家交互固定效应回归

方法1:基础lm()函数

如果数据里的Year和Country是数值型变量,直接在公式里转成因子并使用:表示交互项,就能自动生成所有年份-国家组合的虚拟变量,完全不用手动创建:

# 假设你的数据框名为df
lm(y ~ x + z + factor(Year):factor(Country), data = df)

要是Year和Country已经是因子类型,简化成下面的写法就行:

lm(y ~ x + z + Year:Country, data = df)

如果需要同时保留年份、国家的主效应加上交互效应,把:换成*即可:

lm(y ~ x + z + Year*Country, data = df)
# 等价于 y ~ x + z + Year + Country + Year:Country

方法2:用fixest包(推荐大面板数据)

面对26个国家+8个年份的面板数据,lm()效率会偏低,专门处理固定效应的fixest包更合适——它不仅计算更快,语法也更简洁:用|分隔核心自变量和固定效应部分,直接指定Year:Country作为交互固定效应。

先安装并加载包:

install.packages("fixest")
library(fixest)

然后运行回归:

feols(y ~ x + z | Year:Country, data = df)

这个命令会自动处理所有年份-国家的交互固定效应,不用手动生成任何虚拟变量。还能一键添加聚类标准误,比如按国家聚类:

feols(y ~ x + z | Year:Country, data = df, vcov = ~Country)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:12:42