當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R survfit.matrix 根據危險矩陣創建多州生存的 Aalen-Johansen 估計。


R語言 survfit.matrix 位於 survival 包(package)。

說明

這允許人們創建 P 的 Aalen-Johansen 估計,這是一個每個州一列、每次一行的矩陣,從單個危險估計開始。 P 的每一行的總和將為 1。請注意,此例程已被多狀態 Cox 模型的使用所取代,並且最終將被刪除。

用法

## S3 method for class 'matrix'
survfit(formula, p0, method = c("discrete", "matexp"),
        start.time, ...)

參數

formula

列表矩陣,其中每個元素或者為 NULL,或者為生存曲線對象。

p0

初始狀態向量。該向量的名稱用作輸出對象中狀態的名稱。如果有多條曲線,則 p0 可以是每條曲線一行的矩陣。

method

使用離散危險的乘積或矩陣指數的乘積。請參閱下麵的詳細信息。

start.time

可選的;從給定的起點開始計算

...

其他 survfit 方法使用的進一步參數

細節

輸入時,矩陣應包含一組針對每個可能的轉換的預測曲線,並在其他位置包含 NULL。每個預測都將從相關的 Cox 模型中獲得。這種多狀態曲線方法很容易使用,但有一些注意事項。首先,輸入曲線必須一致。例行程序會盡最大努力進行檢查,但很容易被愚弄。例如,如果一個人要擬合兩個 Cox 模型,從一個模型獲得男性和女性的預測,從另一個模型獲得治療 A 和 B 的預測,此例程將創建兩條曲線,但它們沒有意義。第二個問題是不會產生標準誤差。

結果狀態的名稱取自初始狀態概率向量的名稱。如果缺少,則使用輸入矩陣的暗名稱,缺少則使用標簽 '1'、'2' 等。

對於通常的 Aalen-Johansen 估計器,每個事件時間的乘數是風險矩陣 H(也寫為 I + dA)。然而,當使用 Cox 模型的預測生存曲線時,有可能獲得大於 1 的預測危險,這會導致概率小於 0。如果未提供 method 參數,並且輸入曲線源自Cox 對該例程進行建模,而是使用近似值 expm(H-I) 作為乘數,它始終給出有效的概率。 (這也是 Cox 模型的普通生存曲線的標準方法。)

生存對象

注意

用於創建列表矩陣的 R 語法非常繁瑣。

例子

etime <- with(mgus2, ifelse(pstat==0, futime, ptime))
event <- with(mgus2, ifelse(pstat==0, 2*death, 1))
event <- factor(event, 0:2, labels=c("censor", "pcm", "death"))

cfit1 <- coxph(Surv(etime, event=="pcm") ~ age + sex, mgus2)
cfit2 <- coxph(Surv(etime, event=="death") ~ age + sex, mgus2)

# predicted competing risk curves for a 72 year old with mspike of 1.2
# (median values), male and female.
# The survfit call is a bit faster without standard errors.
newdata <- expand.grid(sex=c("F", "M"), age=72, mspike=1.2)

AJmat <- matrix(list(), 3,3)
AJmat[1,2] <- list(survfit(cfit1, newdata, std.err=FALSE))
AJmat[1,3] <- list(survfit(cfit2, newdata, std.err=FALSE))
csurv  <- survfit(AJmat, p0 =c(entry=1, PCM=0, death=0))

作者

Terry Therneau

也可以看看

survfit

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Create Aalen-Johansen estimates of multi-state survival from a matrix of hazards.。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。