累积风险曲线拟合
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 创建
如果在我的原始数据中我有 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 创建