[英]Time-dependent covariates- is there something wrong with this code? (R program)
我正在使用survival
package 使用時間相關協變量檢查我的一些 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
的時間轉換版本需要添加到 model 中,而不是被分離到coxph(...)
的單獨參數中。
Max Gordon 的How to use the timeSplitter中描述了測試與時間相關的分類變量時的coxph
調用形式。
其他有用的文檔:
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
)
ps 使用原始數據,還有一個問題,因為Daysalive
包含一個零 (0) 值,這最終導致coxph
的“無限預測”錯誤,可能是因為tt
使用log(t)
轉換了數據。 ( https://rdrr.io/github/therneau/survival/src/R/coxph.R )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.