从 R 中的生存对象中提取生存时间向量

Extract the survival times vector from survival object in R

我想从 R 中的生存对象中提取具有生存时间的向量。

样本数据(从指数模型模拟):

library(survival)

set.seed(123)
x <- Surv(rexp(100, rate = 0.001))

其结构如下:

str(x)

 Surv [1:100, 1:2]  843.5  576.6 1329.1   31.6   56.2  316.5  314.2  145.3 2726.2   29.2 ...
 - attr(*, "dimnames")=List of 2
  ..$ : NULL
  ..$ : chr [1:2] "time" "status"
 - attr(*, "type")= chr "right"

问题

如何提取仅包含生存时间的向量?我尝试了 unlist()unname() 函数,但没有成功。

预期输出

> vector_survival_times
[1] 843.5  576.6 1329.1   31.6   56.2  316.5  314.2  145.3 2726.2   29.2 ...

你需要先用survfit()拟合模型:

library(survival)
set.seed(123)
su = Surv(rexp(100, rate = 0.001))
model = survfit(su~1)

model$surv

要从生存对象中提取数据(Surv() 函数),您可以使用子集:

library(survival)

set.seed(123)
x <- Surv(rexp(100, rate = 0.001))

# Subsetting
x[,1]