我想对左右审查的数据进行生存分析(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)
答案 0 :(得分:1)
我遇到了类似的问题并解决了这个问题:
正如survival
help file中所述,您需要指定time
和time2
。
您可以将左删失数据视为从-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。