Cox回归中具有时变效应的多级因子变量tt函数

问题描述

我在 R 中运行 Cox 模型,由于违反了 PH 假设,它包含几个时变系数,我在 coxph 中使用 tt 函数引入了这些系数。其中两个是连续变量,var2 和 var3,我的时变系数之一是 3 级因子变量。模型代码如下:

cox.model <- coxph(surv_data ~ var1 + var2 + tt(var2)
                   + var3 + tt(var3) + factor(var4)
                   + tt(var4)
                   + strata(var5),tt = list(
                       function(time,var2,...){var2*time},function(time,var3,...){var3*sqrt(time)},var4,...){
                         mtrx <- model.matrix(~var4)[,-1];
                         mtrx*time
                       }),data = data)

我运行代码后得到的输出是:

                             coef  exp(coef)   se(coef)      z        p
var1                    3.944e-02  1.040e+00  1.245e-01  0.317   0.7513
var2                    7.348e+00  1.553e+03  1.230e+00  5.975 2.31e-09
tt(var2)               -1.765e+00  1.713e-01  9.855e-01 -1.791   0.0734
var3                   -1.062e-01  8.992e-01  4.491e-02 -2.365   0.0180
tt(var3)                1.698e-02  1.017e+00  9.035e-03  1.880   0.0602
factor(var4)1           1.168e+00  3.216e+00  2.399e-01  4.869 1.12e-06
factor(var4)2           1.851e+00  6.366e+00  4.726e-01  3.917 8.98e-05
tt(var4)               -1.022e-01  9.028e-01  5.019e-02 -2.037   0.0416

对于 var4(因子),我以与 var2 或 var3(连续变量)类似的形式得到 tt(var4) 输出,而不是对 var4 的每个子类别的时变效应的估计值是否正常?如估计 var4 的主要影响,级别 1 和 2)?我找不到太多关于此的信息,但我想我记得前段时间看到的一个示例,其中 tt() 输出区分了多级因子变量的各个类别。

值得注意的是,我不是编程或数学方面的专家,所以我也不确定我是否首先对模型进行了正确编码(例如,如果与时间,矩阵是否必要/正确?)-非常欢迎任何反馈!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)