r - 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)},
function(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() 输出区分了多级因子变量的各个类别。
值得注意的是,我不是编程或数学方面的专家,所以我不确定我是否首先对模型进行了正确编码(例如,如果与时间交互,是否可以包含这么多不同形式的 tt 函数,是矩阵必要/正确?) - 非常欢迎任何反馈!
解决方案
推荐阅读
- moodle - 如何浏览所有上传到 Moodle 的文件
- php - 如何处理 php artisan 路由?
- javascript - 脚本重定向到 URL 并刷新
- typescript - 打字稿:类型'{ id:字符串;} & 挑选
>' 不可分配给类型 'T' - javascript - 正则表达式测试空格分隔的字符
- php - 如何在php中用法语硬编码月份名称?
- c - 使用 Green Hills 编译器将静态库与头文件链接起来
- swift - Xcode 故事板类没有模块
- javascript - 函数、全局变量和局部变量
- scala - 将订阅 onError Scala.RX 放入 Observable 是否有害
?