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


R quantile.survfit 来自 surfit 对象的分位数


R语言 quantile.survfit 位于 survival 包(package)。

说明

从 survfit 或 Surv 对象中检索它们的分位数和置信区间。

用法

## S3 method for class 'survfit'
quantile(x, probs = c(0.25, 0.5, 0.75), conf.int = TRUE,
  scale, tolerance= sqrt(.Machine$double.eps), ...)
## S3 method for class 'survfitms'
quantile(x, probs = c(0.25, 0.5, 0.75), conf.int = TRUE,
  scale, tolerance= sqrt(.Machine$double.eps), ...)
## S3 method for class 'survfit'
median(x, ...)

参数

x

surfit 函数的结果

probs

值为 [0,1] 的概率数值向量

conf.int

是否应该返回置信上限和下限?

scale

可选比例因子,例如,如果拟合对象以天为单位,则 scale=365.25 将返回以年为单位的结果。

tolerance

检查生存曲线是否完全等于分位数之一的容差

...

其他方法的可选参数

细节

生存曲线 S(t) 的第 k 个分位数是高度 p= 1-k 处的水平线与 S(t) 绘图相交的位置。由于 S(t) 是阶跃函数,因此曲线可能恰好在 1-k 处具有水平线段,在这种情况下,返回水平线段的中点。这反映了数据未经审查时中位数的标准行为。如果生存曲线未降至 1-k,则该分位数未定义。

为了与其他分位数函数保持一致,该函数的参数prob适用于累积分布函数F(t) = 1-S(t)。

值的置信限基于 1-k 处水平线与生存曲线上限和下限的交点。因此,置信限使用与创建曲线时相同的 p 值,并且会根据 survfitconf.type 选项而有所不同。如果生存曲线没有置信带,则分位数的置信限不可用。

当生存曲线的水平段与所请求的分位数之一完全匹配时,返回的值将是水平段的中点;这与未经审查的数据中位数的通常定义一致。然而,由于生存曲线是作为一系列乘积计算的,因此可能存在舍入误差。例如,假设样本大小为 20,没有固定时间且没有审查。第 10 次死亡后的生存曲线是 (19/20)(18/19)(17/18) ... (10/11) = 10/20,但计算结果不会正好是 0.5。与请求百分位的绝对差小于tolerance 的任何水平段都被视为完全匹配。

如果 survfit 对象仅包含一条曲线,则分位数将是一个向量,否则它将是一个矩阵或数组。在这种情况下,最后一个维度将索引分位数。

如果请求置信限,则结果将是一个包含 quantilelowerupper 组件的列表,否则它是分位数的向量或矩阵。

例子

fit <- survfit(Surv(time, status) ~ ph.ecog, data=lung)
quantile(fit)

cfit <- coxph(Surv(time, status) ~ age + strata(ph.ecog), data=lung)
csurv<- survfit(cfit, newdata=data.frame(age=c(40, 60, 80)),
                  conf.type ="none")
temp <- quantile(csurv, 1:5/10)
temp[2,3,]  # quantiles for second level of ph.ecog, age=80
quantile(csurv[2,3], 1:5/10)  # quantiles of a single curve, same result

作者

Terry Therneau

也可以看看

survfit , print.survfit , qsurvreg

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Quantiles from a survfit object。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。