Номер таблицы рисков в ggsurvplot: Как изменить порядок строк? - PullRequest
0 голосов
/ 26 марта 2019

Я должен изменить порядок строк таблицы числа риска в объекте ggsurvplot для лучшей читаемости графика, но я не могу понять, как это сделать.

Я использую пример, предоставленный Кассамбарой здесь , с той разницей, что я использую risk.table.col = "strata". Код выглядит следующим образом:

require("survival")
require("survminer")
km.fit <- survfit(Surv(time, status) ~ sex, data = lung)
km.surv <- ggsurvplot(km.fit, risk.table = TRUE, risk.table.col = "strata")
res.cox <- coxph(Surv(time, status) ~ age + sex + ph.ecog, data =  lung)
sex_df <- with(lung,
           data.frame(sex = c(1, 2), 
                      age = rep(mean(age, na.rm = TRUE), 2),
                      ph.ecog = c(1, 1)))
fit <- survfit(res.cox, newdata = sex_df)

cox.surv <- ggsurvplot(fit, data = sex_df, conf.int = TRUE)
cox.surv$table <- km.surv$table
print(cox.surv, risk.table.height = 0.3)

Это приводит к следующему графику: First Plot

Я хочу изменить порядок строк таблицы числа риска и таким образом получить график, подобный этому (график, нарисованный краской):

Ожидаемый участок enter image description here

Пока я пытался изменить значения в таблице количества рисков, посмотрев на объект ggsurvplot. Например, я использовал

cox.surv$table[["layers"]][[1]][["data"]][["strata"]] <- factor(cox.surv$table[["layers"]][[1]][["data"]][["strata"]], levels=     rev(levels(cox.surv$table[["layers"]][[1]][["data"]][["strata"]])))
print(cox.surv, risk.table.height = 0.3)

и действительно, полученный график близок к тому, что я ищу, так как порядок строк изменился. Но почему-то изменился только цвет меток (пол = 1 и пол = 2), а цвет чисел остался прежним.

Заранее спасибо!

...