我应该从ggsurvplot对象中更改处于风险表中的行的顺序,以提高图的可读性,但我不知道该怎么做。
我使用的是Kassambara here提供的示例,区别在于使用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)
我想更改风险表中数字行的顺序,从而得到这样的图(用油漆绘制的图):
到目前为止,我已经尝试通过查看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)发生了变化,而数字的颜色却保持不变。
提前谢谢!