【问题标题】:R coxph on indicator categorical variablesR coxph 关于指标分类变量
【发布时间】:2021-07-17 05:42:10
【问题描述】:

我正在尝试使用分类变量来计算风险比,但是将其中任何一个定义为参考因子是没有意义的。我想要的比较是每组单独与其他样本进行比较(即标记为 A 的样本与未标记为 A 的所有样本;标记为 B 的样本与未标记为 B 的所有样本)。默认情况下,coxph 会将每个组与参考组进行比较(即标记为 B 的样本与标记为 A 的样本;标记为 C 的样本与标记为 A 的样本)。但是,如果我尝试将它们编码为虚拟变量以以这种方式强制它,最后一个总是给出 NA 结果。有没有办法做我正在尝试的事情,或者有没有办法解决我目前的做法?

例子:

coxph(formula = Surv(Time, Status) ~ class_A + class_B + 
    class_C + class_D, data = data)
                    coef exp(coef) se(coef)      z        p
class_A         -2.1185    0.1202   0.4093 -5.175 2.27e-07
class_B        -1.9059    0.1487   0.6825 -2.792  0.00523
class_C       -1.1212    0.3259   0.4179 -2.683  0.00729
class_D             NA        NA   0.0000     NA       NA

【问题讨论】:

  • 您能否提供一个可重现的数据示例,以便我们了解您是如何获得结果的?您可以使用dput(data) 并在此处发布,因此我们也有数据

标签: r survival-analysis


【解决方案1】:

如果我理解得很好,您的变量只有四个类别。然后你应该只传递三个虚拟变量,因为它们中的四个总和为 1,并与常数(基线)项产生共线性(因此你在输出中得到 NA)。得到的系数是对具有省略类的模型的附加效应。

使用三个虚拟变量是 R 在将因子作为单个变量传递时默认执行的操作。如果你想改变这种行为,你需要改变 R 选项中的“对比”类型(例如https://www.dummies.com/programming/r/how-to-set-the-contrasts-for-your-data-with-r/)或转换获得的系数。

【讨论】:

    猜你喜欢
    • 2013-10-22
    • 1970-01-01
    • 2016-12-26
    • 2019-06-28
    • 1970-01-01
    • 2019-10-13
    • 2017-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多