从 ggsurvplot 中的图例中删除变量名称

otw*_*wtm 5 r ggplot2 survminer

有没有一种简洁的方法来删除创建的图例中的变量名称ggsurvplot?例子:

library(survival)
library(survminer)

set.seed(123)
df=data.frame(gender=c(rep("male", 10), rep("female", 10)), value=c(rnorm(10,mean = 2), rnorm(10,mean = 3)))
fit = surv_fit(Surv(value) ~ gender, data = df)
p = ggsurvplot(fit, data = df,  surv.median.line = "none") 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我想要的是从图例中删除“性别”一词,如下图所示。我可以通过手动设置图例标签来实现此目的:

p = ggsurvplot(fit, data = df,  surv.median.line = "none", legend.labs = c("male", "female")) 
Run Code Online (Sandbox Code Playgroud)

但还有更好的办法吗?

编辑:当我手动分配性别时(2.情节),我不小心交换了男性和女性,这表明这种方法是多么危险。

在此输入图像描述

jay*_*.sf 7

破解stratagsub.

names(fit$strata) <- gsub("gender=", "", names(fit$strata))
ggsurvplot(fit, data=df, surv.median.line="none")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


小智 5

为了避免交换图例标签的错误,请在 ggsurvplot 函数中使用此选项:legend.labs = levels(df$gender)