R线性回归引入三重交互项时如何排除dummy3单独项系数
R语言三重交互回归仅保留指定系数的实现方法
两种实现方案对应不同使用场景:
- 场景1:保留完整模型拟合逻辑,仅筛选输出目标系数
该方案为最推荐方案,不会破坏模型的统计合理性,仅对输出结果做过滤。
操作代码示例:- 先拟合标准三重交互模型
fit <- lm(y ~ dummy1 * dummy2 * dummy3, data = 你的数据集) - 提取指定系数
仅需要系数值时运行:coef(fit)[c("dummy1", "dummy2", "dummy1:dummy2:dummy3")]
若需要带标准误、显著性的完整结果,可借助broom、dplyr包实现:
library(broom) library(dplyr) tidy(fit) %>% filter(term %in% c("dummy1", "dummy2", "dummy1:dummy2:dummy3")) - 先拟合标准三重交互模型
- 场景2:直接拟合仅包含目标项的模型
如果你有非常充分的理论依据证明dummy3主效应、dummy1:dummy2、dummy1:dummy3、dummy2:dummy3这些低阶项效应均为0,可以手动指定回归公式仅保留需要的项:fit <- lm(y ~ dummy1 + dummy2 + dummy1:dummy2:dummy3, data = 你的数据集)注意:该方法统计风险很高,随意移除交互项对应的低阶项会导致系数估计偏误、模型解释性下降,无充分理论依据不建议使用。
内容的提问来源于stack exchange,提问作者thomas.diridondo
相关产品推荐
相关产品推荐

