重新排序图例生存
Reorder legend survfit
我做了一个如下所示的回归:
survfit(Surv(YearsToEvent, Event) ~ CancerType, data = RegressionData)
从那里我得到这样的输出 table(为了便于阅读,我删除了一些列):
n
Cancer A 100
Cancer B 200
但是,当我使用 ggsurvplot
绘制输出时,我有一个 plot + a table 和“number at risk”,我希望能够手动调整图例的顺序.也就是说,我希望能够将 Cancer B
放在 Cancer A
之前。我在 SO 上发现了一个类似的线程:How to reorder strata in survfit object for ggsurvplot legend?。但是,我没有在其中找到任何答案。我试图在回归之前对数据框 RegressionData
进行排序,但没有成功。
有人能帮我吗?
这里是一个例子,你可以如何实现你想要的:
主要步骤是将分组变量转换为因子class。然后你可以手动定义级别:
其他步骤相同:
library(survminer)
library(survival)
library(tidyverse)
lung1 <- lung %>%
mutate(sex = factor(sex, levels = c(2, 1)))
ggsurvplot(
fit = survfit(Surv(time, status) ~ sex, data = lung1),
risk.table = TRUE,
xlab = "Days",
ylab = "Overall survival probability")
我做了一个如下所示的回归:
survfit(Surv(YearsToEvent, Event) ~ CancerType, data = RegressionData)
从那里我得到这样的输出 table(为了便于阅读,我删除了一些列):
n
Cancer A 100
Cancer B 200
但是,当我使用 ggsurvplot
绘制输出时,我有一个 plot + a table 和“number at risk”,我希望能够手动调整图例的顺序.也就是说,我希望能够将 Cancer B
放在 Cancer A
之前。我在 SO 上发现了一个类似的线程:How to reorder strata in survfit object for ggsurvplot legend?。但是,我没有在其中找到任何答案。我试图在回归之前对数据框 RegressionData
进行排序,但没有成功。
有人能帮我吗?
这里是一个例子,你可以如何实现你想要的:
主要步骤是将分组变量转换为因子class。然后你可以手动定义级别:
其他步骤相同:
library(survminer)
library(survival)
library(tidyverse)
lung1 <- lung %>%
mutate(sex = factor(sex, levels = c(2, 1)))
ggsurvplot(
fit = survfit(Surv(time, status) ~ sex, data = lung1),
risk.table = TRUE,
xlab = "Days",
ylab = "Overall survival probability")