问题描述
我正在检查连续变量 (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。