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


R survfit.formula 計算刪失數據的生存曲線


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

說明

使用 Aalen-Johansen 估計器計算刪失數據的生存曲線估計值。對於普通(單一事件)生存,這減少到 Kaplan-Meier 估計。

用法

## S3 method for class 'formula'
survfit(formula, data, weights, subset, na.action,  
        stype=1, ctype=1, id, cluster, robust, istate, timefix=TRUE,
        etype, model=FALSE, error, ...)

參數

formula

一個公式對象,它必須有一個 Surv 對象作為 ~ 運算符左側的響應,並且如果需要,右側的項也可以由 + 運算符分隔。其中一項可能是 strata 對象。對於單個生存曲線,右側應為 ~ 1

data

一個 DataFrame ,用於解釋公式、subsetweights 參數中指定的變量。

weights

權重必須為非負數,並且強烈建議它們嚴格為正數,因為與使用 subset 參數相比,零權重是不明確的。

subset

表達式表示在擬合中隻應使用數據行的子集。

na.action

缺失數據過濾器函數,在使用任何 subset 參數後應用於模型框架。默認為 options()$na.action

stype

生存曲線估計所使用的方法:1 = 直接,2 = exp(累積風險)。

ctype

用於估計累積風險的方法:1 = Nelson-Aalen 公式,2 = Fleming-Harrington 對並列事件的修正。

id

當給定的人可以擁有多行數據時,可以識別個體受試者。

cluster

用於對無窮小折刀方差估計的觀測值進行分組,默認為 id 的值。

robust

邏輯上,函數應該計算穩健的方差。對於多狀態生存曲線,默認情況下這是正確的。對於單一狀態數據,請參閱下麵的詳細信息。

istate

對於多狀態模型,識別每個主題或觀察的初始狀態

timefix

通過 aeqSurv 函數處理時間,以消除潛在的舍入問題。

etype

給出事件類型的變量。它已被多狀態 Surv 對象取代並已棄用;請參見下麵的示例。

model

在輸出中包含模型框架的副本

error

該參數不再使用

...

以下附加參數傳遞給 survfit 調用的內部函數。

se.fit

邏輯值,默認為 TRUE。如果為 FALSE,則省略標準誤差計算。

conf.type

"none""plain""log" (默認)、 "log-log""logit""arcsin" 之一。隻需要足夠的字符串來唯一標識它即可。第一個選項會導致不生成置信區間。第二個導致標準間隔 curve +- k *se(curve) ,其中 k 由 conf.int 確定。對數選項根據累積危險或對數(生存)計算間隔。 log-log 選項將間隔基於對數風險或 log(-log(survival)),logit 選項基於 log(survival/(1-survival)),arcsin 基於 arcsin(survival)。

conf.lower

一個字符串,用於指定曲線的修改下限,上限保持不變。可能的值為 "usual" (未修改)、"peto""modified" 。修改後的下限基於"effective n"參數。置信帶將與每次死亡時間的通常計算一致,但與通常的帶不同,置信區間在每次審查觀察時變得更寬。額外寬度是通過將通常方差乘以因子 m/n 獲得的,其中 n 是當前處於危險中的人數,m 是上次死亡時處於危險中的人數。 (因此,這些條帶與每個死亡時間的un-modified條帶一致。)這對於具有長平尾的生存曲線特別有用。

Peto 下限基於與修改後的限製相同的 "effective n" 參數,但也用簡單的近似值替換了通常的格林伍德方差項。眾所周知,它是保守的。

start.time

指定開始計算生存信息的時間的數值。生成的曲線是生存到 start.time 的生存條件。

conf.int

生存曲線上兩側置信區間的水平。默認值為 0.95。

se.fit

指示是否應計算標準誤差的邏輯值。默認為 TRUE

影響

一個邏輯值,指示是否返回每個主題的無窮小折刀(影響)值。這些包含每個值相對於每個主題 i 的案例權重的導數值: ,在權重向量上進行評估。生成的對象將包含 influence.survinfluence.chaz 組件。或者,influence=1influence=2 選項將分別返回僅生存曲線或危險曲線的值。

p0

這僅適用於多狀態曲線。一個可選向量,給出各個狀態的初始概率。如果缺少此值,則使用 start.time 處所有處於風險的觀測值的起始狀態的頻率來估計 p0,或者如果未指定,則在第一個事件發生時估計 p0。

類型

結合了 stypectype 的舊參數,現已棄用。合法值為"kaplan-meier",相當於stype=1, ctype=1,"fleming-harrington",相當於stype=2, ctype=1,"fh2",相當於stype=2, ctype=2.

細節

如果存在 data 參數,則將在該數據集中搜索 formulaweightssubsetidclusteristate 參數中的變量。

該例程返回估計的狀態概率和估計的累積危險估計。累積危險估計是Nelson-Aalen (NA) 估計或Fleming-Harrington (FH) 估計,後者包括對綁定事件時間的修正。狀態中的估計概率可以使用累積風險的指數進行估計,也可以使用Aalen-Johansen方法進行直接估計。對於單狀態數據,AJ 估計減少到Kaplan-Meier,狀態概率減少到生存曲線;對於競爭風險數據,AJ 簡化為累積發生率 (CI) 估計量。為了向後兼容,可以使用 type 參數。

當數據集包含左刪失或區間刪失數據(或兩者)時,則使用 Turnbull 的 EM 方法來計算總體曲線。目前該算法非常慢,僅生成生存曲線,並且不支持魯棒方差。

穩健方差:如果 robust 為 TRUE,或者對於多狀態曲線,則結果的標準誤差將基於無窮小折刀 (IJ) 估計,否則將使用基於標準模型的估計。對於單狀態曲線,如果出現以下情況之一,robust 的默認值為 TRUE:存在 cluster 參數、存在非整數權重,或者存在 id 語句且至少有一個 id 值具有多個事件,否則為 FALSE。默認值代表了我們對何時最常需要穩健方差的最佳猜測。當存在非整數案例權重和(time1,time2)生存數據時,例程陷入死鎖:可能需要穩健方差,但需要 idcluster 信息才能正確完成;它將默認為robust=FALSE。

當存在非整數情況權重時,默認使用穩健方差的一個意想不到的副作用是,使用區間刪失數據的擬合(使用更新的權重向量迭代基礎 KM)現在默認返回穩健方差。根據 Sun (2001),這可能是首選,因為樸素估計忽略了權重的估計。先前的行為可以通過 robust= FALSE 獲得。

通過 IJ 估計,杠杆值本身可以作為具有維度的數組返回:受試者數量、獨特次數,以及對於多狀態模型,獨特狀態的數量。請注意,這些數組可能很大。如果有 cluster 參數,則第一個維度將是簇的數量,方差將是分組 IJ 估計;這可能是減小尺寸的重要工具。 influence 參數的數值允許更精細的控製:0= 都不返回(與 FALSE 相同),1= 返回狀態概率的影響數組,2= 返回累積風險的影響數組,3= 返回兩者(與 TRUE 相同)。

"survfit" 的對象。有關詳細信息,請參閱survfit.object。為 survfit 對象定義的方法有 printplotlinespoints

例子

#fit a Kaplan-Meier and plot it 
fit <- survfit(Surv(time, status) ~ x, data = aml) 
plot(fit, lty = 2:3) 
legend(100, .8, c("Maintained", "Nonmaintained"), lty = 2:3) 

#fit a Cox proportional hazards model and plot the  
#predicted survival for a 60 year old 
fit <- coxph(Surv(futime, fustat) ~ age, data = ovarian) 
plot(survfit(fit, newdata=data.frame(age=60)),
     xscale=365.25, xlab = "Years", ylab="Survival") 

# Here is the data set from Turnbull
#  There are no interval censored subjects, only left-censored (status=3),
#  right-censored (status 0) and observed events (status 1)
#
#                             Time
#                         1    2   3   4
# Type of observation
#           death        12    6   2   3
#          losses         3    2   0   3
#      late entry         2    4   2   5
#
tdata <- data.frame(time  =c(1,1,1,2,2,2,3,3,3,4,4,4),
                    status=rep(c(1,0,2),4),
                    n     =c(12,3,2,6,2,4,2,0,2,3,3,5))
fit  <- survfit(Surv(time, time, status, type='interval') ~1, 
              data=tdata, weight=n)

#
# Three curves for patients with monoclonal gammopathy.
#  1. KM of time to PCM, ignoring death (statistically incorrect)
#  2. Competing risk curves (also known as "cumulative incidence")
#  3. Multi-state, showing Pr(in each state, at time t)
#
fitKM <- survfit(Surv(stop, event=='pcm') ~1, data=mgus1,
                    subset=(start==0))
fitCR <- survfit(Surv(stop, event) ~1,
                    data=mgus1, subset=(start==0))
fitMS <- survfit(Surv(start, stop, event) ~ 1, id=id, data=mgus1)
## Not run: 
# CR curves show the competing risks
plot(fitCR, xscale=365.25, xmax=7300, mark.time=FALSE,
            col=2:3, xlab="Years post diagnosis of MGUS",
            ylab="P(state)")
lines(fitKM, fun='event', xmax=7300, mark.time=FALSE,
            conf.int=FALSE)
text(3652, .4, "Competing risk: death", col=3)
text(5840, .15,"Competing risk: progression", col=2)
text(5480, .30,"KM:prog")

## End(Not run)

參考

Dorey, F. J. and Korn, E. L. (1987). Effective sample sizes for confidence intervals for survival probabilities. Statistics in Medicine 6, 679-87.

Fleming, T. H. and Harrington, D. P. (1984). Nonparametric estimation of the survival distribution in censored data. Comm. in Statistics 13, 2469-86.

Kalbfleisch, J. D. and Prentice, R. L. (1980). The Statistical Analysis of Failure Time Data. New York:Wiley.

Kyle, R. A. (1997). Moncolonal gammopathy of undetermined significance and solitary plasmacytoma. Implications for progression to overt multiple myeloma}, Hematology/Oncology Clinics N. Amer. 11, 71-87.

Link, C. L. (1984). Confidence intervals for the survival function using Cox's proportional hazards model with covariates. Biometrics 40, 601-610.

Sun, J. (2001). Variance estimation of a survival function for interval-censored data. Stat Med 20, 1949-1957.

Turnbull, B. W. (1974). Nonparametric estimation of a survivorship function with doubly censored data. J Am Stat Assoc, 69, 169-173.

也可以看看

survfit.coxph 用於 Cox 模型的生存曲線,survfit.object 用於 survfit 對象組件的說明,print.survfitplot.survfitlines.survfitcoxphSurv

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Compute a Survival Curve for Censored Data。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。