Reputation: 43
Is it possible to edit the risk table labels?
I'm trying to change the risk table labels ('male', 'female') to something else.
library(tidyverse)
library(ggsurvfit)
p <-
survfit2(Surv(time, status) ~ sex, data = df_lung) %>%
ggsurvfit(linewidth = 1) +
scale_ggsurvfit() +
add_risktable(
risktable_stats = c("n.risk")) +
theme_classic() +
scale_color_manual(values = c('blue', 'magenta'),
labels = c('My label', 'My other label')) +
scale_fill_manual(values = c('blue', 'magenta'),
labels = c('My label', 'My other label'))
p
If I use scale_color_manual and scale_fill_manual, the ggplot legend shows the changed labels but the table shows the output labels. How edyting risk table inside?
Upvotes: 2
Views: 856
Reputation: 11679
It's easiest to simply change the labels in the data frame before you call survfit2()
. But you can also add any ggplot2()
functions to the add_risktable(theme)
argument. Examples of both below!
library(ggsurvfit)
#> Loading required package: ggplot2
library(tidyverse)
packageVersion("ggsurvfit")
#> [1] '1.0.0'
# it's easiest to change the label in the data before
p <-
survfit2(
Surv(time, status) ~ sex,
data = df_lung |> mutate(sex = case_match(sex, "Male" ~ 'My label', "Female" ~ 'My other label'))
) %>%
ggsurvfit(linewidth = 1) +
scale_ggsurvfit() +
add_risktable(
risktable_stats = c("n.risk")
) +
theme_classic() +
scale_color_manual(values = c('blue', 'magenta')) +
scale_fill_manual(values = c('blue', 'magenta'))
p
# you can also modify the labels directly using ggplot functions
# in the theme argument of add_risktable()
p <- survfit2(Surv(time, status) ~ sex, data = df_lung) %>%
ggsurvfit(linewidth = 1) +
scale_ggsurvfit() +
add_risktable(
risktable_stats = c("n.risk"),
theme =
list(
theme_risktable_default(),
scale_y_discrete(label = c('My other label', 'My label'))
)
) +
theme_classic() +
scale_color_manual(values = c('blue', 'magenta'),
labels = c('My label', 'My other label')) +
scale_fill_manual(values = c('blue', 'magenta'),
labels = c('My label', 'My other label'))
p
Created on 2024-01-15 with reprex v2.0.2
Upvotes: 1