问题描述
我在 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 (将#修改为@)