Почему ggsurvplot_facet игнорирует pval.size?

Почему pval.size игнорируется ggsurvplot_facet()?

Я пытаюсь изменить размер текста p-значения на моем графике выживания, используя ggsurvplot_facet(), но звонок pval.sizeпохоже, игнорируется. Если бы кто-нибудь мог помочь мне изменить размер p-значения на моем графике выживания, я был бы очень признателен.

Воспроизводимый пример:

library(survival); library(survminer)

fit <- survfit( Surv(time, status) ~ sex, data = colon)

ggsurvplot_facet(fit, colon, facet.by = "rx", palette = "jco", pval = TRUE, pval.size = 20)

ggsurvplot_facet(fit, colon, facet.by = "rx", palette = "jco", pval = TRUE, pval.size = 1)

1 ответ

Решение

Простой ответ заключается в том, что pval.size не является именованным параметром в этой функции, и функция ничего не делает с ним, когда вы его передаете.

Вам придется изменить тело функции, чтобы добиться изменения размера метки pval. Вот как создать модифицированную функцию, которая принимает параметр размера значения p:

ggsurvplot_facet2 <- function(pval.size = 5, ...)
{
  newcall <- bquote(
    p <- p + geom_text(data = pvals.df, aes(x = pval.x, y = pval.y, 
    label = pval.txt), size = .(pval.size), hjust = 0)
    )

    body(ggsurvplot_facet)[[20]][[3]][[8]] <- newcall
    ggsurvplot_facet(...)
}

Итак, теперь вы можете:

ggsurvplot_facet2(fit, colon, facet.by = "rx", palette = "jco", pval = TRUE, pval.size = 1)

Что дает это:

Тогда ты можешь сделать

ggsurvplot_facet2(fit, colon, facet.by = "rx", palette = "jco", pval = TRUE, pval.size = 10)

Что дает это:

Другие вопросы по тегам