R survfit函数没有产生Kaplan-Meier

时间:2017-07-18 19:19:46

标签: r survival-analysis

我使用了生存包中的幸存函数,并得到了我不了解的结果。我有简单的数据 - 一个具有生存时间的对象,另一个带有指示变量(0 =活着,1 =死)。

Survival_Time_Months[1:50]
# [1] 165   3 119  92  88   3  25   3  56  18 100 114  17  97 141 145 103 156  37  91 101  43  41 143 108  93 136   4 116
# [30]  85 166   0  92  26   9   8  55 136  10  99   1  20   6  95  85  79 119 109  41  23

Vital_Status_RECODE[1:50]
# [1] 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
# Levels: 0 1

然后我可以通过survfit运行:

my.surv.fit <- survfit(Surv(Survival_Time_Months,Vital_Status_RECODE) ~ 1, data=mydata)

然后运行plot命令:

plot(my.surv.fit)

我得到的东西是Kaplan-Meier曲线,但是从零开始向上的东西 - 看起来像是1.0 - KM。 KM数据在拟合对象中作为$ pstate,但我必须广泛地提取它并生成我想要的KM图。

在尝试解决此问题时,我已经浏览了每个论坛有关survfit包和多个教程的内容,而且每个教程似乎都表明命令序列应该产生KM曲线。

1 个答案:

答案 0 :(得分:3)

状态应该是数字向量,而不是因素。试试这个,你会发现不同之处:

time <- c(165,3,119,92,88,3,25,3,56,18,100,114,17,97,141,145,103,156,37,91,101,43,41,143,108,93,136,4,116,85,166,0,92,26,9,8,55,136,10,99,1,20,6,95,85,79,119,109,41,23)
status <- c(0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0)

plot(survfit(Surv(time, status)~1))