累积风险曲线拟合

Cumulative hazard curve fitting

如果在我的原始数据中我有 50 天的随访时间,从技术上讲如何可能将累积风险曲线延长到 80 天?累积结果估计将保持不变,只是两条线在第 80 天之前是相同的。

我用来创建生存对象对象

surv = survfit(Surv(Tstart, Tstop, outcome==1)~T, data = data.long, ctype=1, id=id)

然后创建了一个情节:

                 palette = c("#FF9E29", "#86AA00"),
                 risk.table = FALSE,
                 ylim=c(0,2),
                 xlim=c(0,70),
                 fun = "cumhaz")

您可以将拟合转换为 tibble,以便使用 ggplot 进行手动绘图。通过在具有最大值的最大时间点添加新行,geom_step 将根据需要扩展:

library(tidyverse)
library(survival)

fit <- survfit(Surv(time, status) ~ sex, data = lung)

max_time <- 3000

data <-
  tibble(
  cumhaz = fit$cumhaz,
  stratum = {
    fit$strata %>%
      as.numeric() %>%
      enframe() %>%
      mutate(vec = name %>% map2(value, ~ rep(.x, .y))) %>%
      pull(vec) %>%
      simplify()
  },
  time = fit$time
)

data %>%
  bind_rows(
    data %>% group_by(stratum) %>% summarise(cumhaz = max(cumhaz), time = max_time)
  ) %>%
  mutate(stratum = stratum %>% factor()) %>%
  ggplot(aes(time, cumhaz, color = stratum)) +
  geom_step() +
  scale_x_continuous(limits = c(0, max_time))

reprex package (v2.0.0)

于 2022-04-14 创建