左检查R中的生存数据

时间:2017-01-31 22:25:57

标签: r survival-analysis

我想对左右审查的数据进行生存分析(Kaplan-Meier和Cox PH建模)。我观察了在存在与不存在特定基因(基因0或1)时发生心律失常(AF)的时间。然而,一些受试者在招募时已经发现心律失常,因此应该进行审查。我已经阅读了生存包文档,但无法解释如何解释左侧审查。一些人在下面编写了示例数据。受试者1和3在基线时具有AF,因此应该被检查。受试者2在随访结束时没有经历过该事件,因此被正确审查。受试者5和6都经历了该事件(分别在8个月和3个月)。

Gene<-c(0,0,1,1,0)
AF_at_baseline<-c(1,0,1,0, 0)
Followup_time<-c(11,3,8,15,7)
AF_time<-c(NA, NA, NA, 8, 3)
AF_data<-data.frame(Gene, AF_at_baseline, Followup_time, AF_time)

1 个答案:

答案 0 :(得分:1)

我遇到了类似的问题并解决了这个问题:

正如survival help file中所述,您需要指定timetime2

您可以将左删失数据视为从-infinity到您测量的time以及右删失的数据time您在+infinity之前测量过(可能是最后一次跟进)。无穷大最好用NA编码。

解决了我的问题是创建了两个向量:起始向量time和停止向量time2

对于time,您希望左删除的所有值都为NA正确的审查观察用测量时间填写,就像事件一样。

对于time2,情况恰恰相反。

但我并没有真正得到您的数据。如果他们已经参加了活动,你为什么要跟进主题呢?这就是你对主题4和5的做法,说AF时间是8和3,但是Followup_time是15和7。

尝试提供帮助,我假设以下内容:

您有5名患者

AF_at_baseline<-c(1,0,1,0,0) #where 1 indicates left censoring

跟进时间是事件发生时间(或左右检查的最后一次跟进)

因此,对于左删失数据,您的Followup_time将如下所示:

Followup_time <- c(NA, 3, NA, 15, 7)

对于右删失数据:

Followup_time2 <- c(11, NA, 8 ,15, 7)
#Since you indicated that only subject 2 didn't experience the event

现在你可以打电话给Surv

Surv.Obj <- Surv(Followup_time, Followup_time2, type = 'interval2')
Surv.Obj
[1] 11-  3+  8- 15   7 # with '-' indicating left censoring and '+' right censoring

然后你可以打电话给survfit并绘制Kaplan-Meier曲线:

km <- survfit(Surv.Obj ~ 1, conf.type = "none")
km
Call: survfit(formula = Surv.Obj ~ 1, conf.type = "none")

      n  events  median 0.95LCL 0.95UCL 
      5       4       7       7      NA 
    enter code here

summary(km)
Call: survfit(formula = Surv.Obj ~ 1, conf.type = "none")

 time n.risk  n.event survival std.err lower 95% CI upper 95% CI
  7.0      4 3.00e+00     0.25   0.217       0.0458            1
  7.5      1 4.44e-16     0.25   0.217       0.0458            1
 15.0      1 1.00e+00     0.00     NaN           NA           NA


plot(km, conf.int = FALSE, mark.time = TRUE)

到目前为止,我还没有找到如何使用间隔数据来执行Cox PH。请参阅我的问题here