ggsurvplot中的风险表编号:如何更改行的顺序?

时间:2019-03-26 10:58:49

标签: r plot survival-analysis survival

我应该从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)

这将导致以下绘图: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)发生了变化,而数字的颜色却保持不变。

提前谢谢!

0 个答案:

没有答案