如何提取R中相互作用效应的β系数?

问题描述

我正在检查连续变量 (bloodq) 和具有三个级别(ER、RB 和 WB)的分类变量间的相互作用。为了了解不同组织类型的 Beta 值有何不同,我想知道所有三种组织类型的组织特异性 Beta 值。输出显示 WB 和 RB 的 beta,因为 ER 被设置为参照组。我怎样才能为 RB 提取测试版?

解决方法

不确定我是否完全理解您的问题,我理解的是您想知道为什么没有“Bloodq*ER”交互系数。

您在问题中给出了答案:ER 是参考水平,在​​模型中添加这样的交互项会引起确切的共线性问题,如: Bloodq == Bloodq*ER + Bloodq*RB + Bloodq*WB(其中 ER == 1 如果 Tissue == "ER",否则为 0 等)

因此,从模型中移除 Bloodq 应该会显示 Bloodq*ER 系数。

例如,试试这个:

n <- 100
df <- data.frame(s1 = runif(n),s2 = sample(factor(c("A","B")),n,replace = TRUE),y = runif(n))
lm(y ~ s1 + s1:s2,data = df)
lm(y ~ s1:s2,data = df)

您可以看到第一个模型只有 s1:s2B 交互,而第二个模型有 s1:s2A 和 s1:s2B。