Поскольку предположение о пропорциональных рисках нарушается моими реальными данными, я использую модель AFT, пытаясь рассчитать скорректированные вероятности выживания для интересующих групп исследования. Пример ниже относится к почкам. data, и я попытался выполнить ciTools виньетка.
library(tidyverse)
library(ciTools)
library(here)
library(survival)
library(survminer)
#data
kidney
Модель
fit1 = survreg(Surv(time, censored) ~ sex + age + disease, data = kidney)
Call:
survreg(formula = Surv(time, censored) ~ sex + age + disease,
data = kidney)
Coefficients:
(Intercept) sexfemale age diseaseGN diseaseAN diseasePKD
8.41830937 -0.93959839 -0.01578812 -0.25274448 -0.38306425 -0.32830433
Scale= 1.642239
Loglik(model)= -122.1 Loglik(intercept only)= -122.7
Chisq= 1.33 on 5 degrees of freedom, p= 0.931
n= 76
Добавление вероятности выживания для обоих полов для выживания не менее 365 дней
probs = ciTools::add_probs(kidney, fit1, q = 365,
name = c("prob", "lcb", "ucb"),
comparison = ">")
probs
Пытаетесь построить графики вероятностей выживания в течение одного года для обоих полов, но есть несколько точечных оценок для geom_point?
Мне кажется, что эти точечные оценки даны для каждого значения age. Могу ли я изменить прогноз, чтобы он был сделан для среднего или медианного возраста?
probs %>% ggplot(aes(x = prob, y = sex)) +
ggtitle("1-year survival probability") +
xlim(c(0,1)) +
theme_bw() +
geom_point(aes(x = prob), alpha = 0.5, colour = "red")+
geom_linerange(aes(xmin = lcb, xmax = ucb), alpha = 0.5)
Однако этот подход работает с простой моделью
fit2 = survreg(Surv(time, censored) ~ sex, data = kidney)
probs2 = ciTools::add_probs(kidney, fit2, q = 365,
name = c("prob", "lcb", "ucb"),
comparison = ">")
probs2 %>% ggplot(aes(x = prob, y = sex)) +
ggtitle("1-year survival probability") +
xlim(c(0,1)) +
theme_bw() +
geom_point(aes(x = prob), alpha = 0.5, colour = "red")+
geom_linerange(aes(xmin = lcb, xmax = ucb), alpha = 0.5)
Вопросы:
- Как я могу получить скорректированные вероятности выживания для обоих полов? Или, если это невозможно, какие возможны альтернативы? Код поможет с альтернативами.
- Если я хочу получить скорректированные вероятности выживания для обоих полов и для разных моментов времени, должен ли я изменить значение q в функции ciTools::add_probs()? Например: q = 30 на один месяц; q = 90 в течение трех месяцев и т. д. Или мне следует запускать отдельную модель для каждого периода времени?