在R中绘制Kaplan-Meier生存图

时间:2019-12-11 01:34:16

标签: r

我正在尝试在R中绘制Kaplan-Meier生存图,但是遇到了一些麻烦。

我对R很陌生,请原谅我糟糕的代码。

library(survival)
data_time = c(0.19,0.75,0.27,0.26,0.22,0.91,0.21,0.091,0.19,0.37,0.093,0.92,0.046,0.93,042)
data_event = c(1,1,1,1,0,0,1,1,0,0,0,1,1,1,0)
surv_object = Surv(time = data_time, event = data_event)
survfit(surv_object)

这当然给了我一个错误:“ survfit函数需要一个公式作为其第一个参数”。

我已将数据分为两个向量,第一个向量用于生命周期,第二个向量用于检查是否对特定数据点进行了审查,其中0表示未审查,1表示被审查。

我认为Surv函数应该产生survfit函数所需的公式,默认值为Kaplan-Meier。

1 个答案:

答案 0 :(得分:2)

顾名思义,survfit函数用于拟合生存模型,即根据某些变量预测生存。 “公式”是拟合的非线性y = f(x)模型,表示为Surv(...) ~ x1 + ... + xn

但是,绝对有可能在没有任何预测因素的情况下进行Kaplan-Meier生存图。只需将模型拟合到常量(即1)上即可。然后,我想使用ggsurvplot包中的survminer函数。

install.packages("survminer")
library(survminer)
library(survival)

data_time = c(0.19,0.75,0.27,0.26,0.22,0.91,0.21,0.091,0.19,0.37,0.093,0.92,0.046,0.93,0.42)
data_event = c(1,1,1,1,0,0,1,1,0,0,0,1,1,1,0)
surv_object = Surv(time = data_time, event = data_event)

# Regress on a constant
fit <- survfit(surv_object ~ 1)

# Plot the fit
ggsurvplot(fit, data.frame(time=data_time, event=data_event), conf.int=FALSE)

survival plot with ggsurvplot

当然,如果您要拟合一些地层,该图将更加有趣。

注意:我想您在最后一个偶数时间里错过了一个时间段,并将其修复。