当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。