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


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