时间相关的协变量——这段代码有什么问题吗? (R程序)
Time-dependent covariates- is there something wrong with this code? (R program)
我正在使用 survival
程序包检查我的一些 Cox 多元回归分析使用时间相关协变量的比例风险假设。问题是观察具有不同 ADAMTS13 水平(一种酶)的组的存活率。
我可以检查我的代码本身是否有问题吗?它一直在说 Error in tt(TMAdata$ADAMTS13level.f) : could not find function "tt"
。为什么?
值得注意的是,ADAMTS13level.f
是一个因子变量。
cox_multivariate_survival_ADAMTS13 <- coxph(Surv(TMAdata$Daysalive, TMAdata$'Dead=1')
~TMAdata$ADAMTS13level.f
+TMAdata$`Age at diagnosis`
+TMAdata$CCIwithoutage
+TMAdata$Gender.f
+TMAdata$`Peak Creatinine`
+TMAdata$DICorcrit.f,
tt(TMAdata$ADAMTS13level.f),
tt = function(x, t, ...)
{mtrx <- model.matrix(~x)[,-1]
mtrx * log(t)})
谢谢 - 从我的实际代码或拼写错误的基础开始 - 我尝试了不同的排列但无济于事。
@Limey 走在正确的轨道上!
ADAMTS13level.f
的 time-transformed 版本需要添加到模型中,而不是分离到 coxph(...)
的单独参数中。
Max Gordon 在 How to use the timeSplitter 中描述了测试 time-dependent 分类变量时 coxph
调用的形式。
其他有用的文档:
coxph - fit proportional hazards regression model
cox_multivariate_survival_ADAMTS13 <-
coxph(
Surv(
Daysalive,
'Dead=1'
) ~
ADAMTS13level.f
+ `Age at diagnosis`
+ CCIwithoutage
+ Gender.f
+ `Peak Creatinine`
+ DICorcrit.f
+ tt(ADAMTS13level.f),
tt = function(x, t, ...) {
mtrx <- model.matrix(~x)[,-1]
mtrx * log(t)
},
data = TMAdata
)
p.s。对于原始数据,也存在一个问题,因为 Daysalive
包含一个零 (0) 值,最终导致 coxph
出现 'infinite predictor' 错误,可能是因为 tt
转换使用 log(t)
的数据。 (https://rdrr.io/github/therneau/survival/src/R/coxph.R)
我正在使用 survival
程序包检查我的一些 Cox 多元回归分析使用时间相关协变量的比例风险假设。问题是观察具有不同 ADAMTS13 水平(一种酶)的组的存活率。
我可以检查我的代码本身是否有问题吗?它一直在说 Error in tt(TMAdata$ADAMTS13level.f) : could not find function "tt"
。为什么?
值得注意的是,ADAMTS13level.f
是一个因子变量。
cox_multivariate_survival_ADAMTS13 <- coxph(Surv(TMAdata$Daysalive, TMAdata$'Dead=1')
~TMAdata$ADAMTS13level.f
+TMAdata$`Age at diagnosis`
+TMAdata$CCIwithoutage
+TMAdata$Gender.f
+TMAdata$`Peak Creatinine`
+TMAdata$DICorcrit.f,
tt(TMAdata$ADAMTS13level.f),
tt = function(x, t, ...)
{mtrx <- model.matrix(~x)[,-1]
mtrx * log(t)})
谢谢 - 从我的实际代码或拼写错误的基础开始 - 我尝试了不同的排列但无济于事。
@Limey 走在正确的轨道上!
ADAMTS13level.f
的 time-transformed 版本需要添加到模型中,而不是分离到 coxph(...)
的单独参数中。
Max Gordon 在 How to use the timeSplitter 中描述了测试 time-dependent 分类变量时 coxph
调用的形式。
其他有用的文档:
coxph - fit proportional hazards regression model
cox_multivariate_survival_ADAMTS13 <-
coxph(
Surv(
Daysalive,
'Dead=1'
) ~
ADAMTS13level.f
+ `Age at diagnosis`
+ CCIwithoutage
+ Gender.f
+ `Peak Creatinine`
+ DICorcrit.f
+ tt(ADAMTS13level.f),
tt = function(x, t, ...) {
mtrx <- model.matrix(~x)[,-1]
mtrx * log(t)
},
data = TMAdata
)
p.s。对于原始数据,也存在一个问题,因为 Daysalive
包含一个零 (0) 值,最终导致 coxph
出现 'infinite predictor' 错误,可能是因为 tt
转换使用 log(t)
的数据。 (https://rdrr.io/github/therneau/survival/src/R/coxph.R)