我正在尝试在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。
答案 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)
当然,如果您要拟合一些地层,该图将更加有趣。
注意:我想您在最后一个偶数时间里错过了一个时间段,并将其修复。