SurvPlot() в "RMS": количество риска отображается для всей группы, а не для каждой кривой

Я строил кривые выживания, используя survplot{rms}, Тем не менее, когда я использовал n.risk = TRUE Чтобы построить график таблицы рисков, R дал мне номер всего набора данных, а не для каждой кривой, и я не могу понять, почему.

# initialize survival commands in R

survive <- Surv(dat$dx_lastcontact_death_months, dat$event)

library(rms)

ff <- cph(survive ~ radiation, data = dat,x = T, y = T)

survplot(ff,radiation,conf.int = 0.95,
         lty = c(1,1,1), col = c("red","blue","yellow"), xlab = "", ylab = "",
         xlim = c(0,60), time.inc = 12, label.curves = F, n.risk = T)

n.risk.shown.wrong

Например, в момент времени 0 число риска должно быть 7442 3210 3042, теперь на графике отображается 13694, сумма трех групп. Может ли кто-нибудь помочь мне понять, где идет не так? Спасибо?

1 ответ

Решение

@WeehuangWong, возможно, правильно. Я получаю такой же вывод, как и вы, когда я использую первый пример в survplot, но добавив strat() Функция вокруг категориальной переменной приводит к ожидаемому выходному формату. Я тоже добавил surv=T,

n <- 1000
set.seed(731)
age <- 50 + 12*rnorm(n)
label(age) <- "Age"
sex <- factor(sample(c('male','female'), n, TRUE))
cens <- 15*runif(n)
h <- .02*exp(.04*(age-50)+.8*(sex=='female'))
dt <- -log(runif(n))/h
label(dt) <- 'Follow-up Time'
e <- ifelse(dt <= cens,1,0)
dt <- pmin(dt, cens)
units(dt) <- "Year"
dd <- datadist(age, sex)
options(datadist='dd')

f <- cph(Surv(dt,e) ~ strat(sex), x=T,y=T, surv=T)
survplot(f, sex, label.curves = F, n.risk = T)

введите описание изображения здесь

Другие вопросы по тегам