[这个问题使我感到困惑的时间超过了我想承认的时间。我已隔离问题,因此可以复制它。
library(survival)
library(survminer)
set.seed(123)
test <- data.frame(rnorm(10000)+5,
sample(0:1, 10000, replace = TRUE))
colnames(test)<- c("time", "event")
#sum(test$event) = 4975
survfitted <- survfit(Surv(time = time, event = event) ~ 1,
data = test)
plot(survfitted, fun = "event")
为什么当只有49.75%的人经历事件时,此曲线为何总计为100%?生成显示累积发生率的图的正确语法是什么?
问题似乎是将审查视为事件。
如果所有检查事件都发生在最后一个事件之前,那么最后一个事件会将KM曲线设为0,或者在这种情况下将Hazard曲线设为1.0。 (该图是对危险而非生存的KM估计。)
您的模拟非常均匀地分布了事件并进行了检查,因此几乎所有此类图都将显示危害函数非常接近于1。如果将种子选择为9,则会得到一个图,该图未达到零。
set.seed(9)
png(); plot(survfitted, fun = "event"); abline(h=1);dev.off()
如果事件和检查时间均匀分布在同一范围内,则危险图将始终接近1。大多数Survivla或危险情节的医学示例都在0-1范围的中间终止的原因是,通常,除了上一次观察到的事件以外,还有许多检查。