Вставка математических символов в легенды о R сюжетах - PullRequest
2 голосов
/ 06 марта 2020

Я использую Surminminer для построения графика выживания с 2 кривыми выживания, один для пациентов, которые получили 4 упакованных красных кровяных клетки (PRB C) во время операции, и один для пациентов, которые получили более 4 PRB C единицы. К сожалению, я не смог вставить правильный знак "<=" в легенду, используя функции "expression" или "bquote". </p>

Я читал предыдущие посты на эту тему, но рекомендации, которые мне удалось найти с помощью выражений () и bquote (), похоже, не работают должным образом.

library(survival)
library(coxed)
library(survminer)

simdata <- sim.survdata(N=300, T=100, num.data.frames=1, xvars = 1)

d <- simdata$data

d$Xfactor <- ifelse(d$X <= 0.3, 1, 0)


# the code chunks below do not seem to work because of the legends

ggsurvplot(
  fit = survfit(Surv(d$y, event = d$failed) ~ d$Xfactor, data = d), 
  xlab = "Years", 
  ylab = "Overall survival probability",
  main = "Overall survival",
  legend.labs = c(bquote(<= ~ "4 Units"),"> 4 Units"))

ggsurvplot(
  fit = survfit(Surv(d$y, event = d$failed) ~ d$Xfactor, data = d), 
  xlab = "Years", 
  ylab = "Overall survival probability",
  main = "Overall survival",
  legend.labs = c(bquote("" ~ <= ~ "4 Units"),"> 4 Units"))

ggsurvplot(
  fit = survfit(Surv(d$y, event = d$failed) ~ d$Xfactor, data = d), 
  xlab = "Years", 
  ylab = "Overall survival probability",
  main = "Overall survival",
  legend.labs = c(expression("",<=,"4 Units"),"> 4 Units"))

ggsurvplot(
  fit = survfit(Surv(d$y, event = d$failed) ~ d$Xfactor, data = d), 
  xlab = "Years", 
  ylab = "Overall survival probability",
  main = "Overall survival",
  legend.labs = c(expression(<=,"4 Units"),"> 4 Units"))

ggsurvplot(
  fit = survfit(Surv(d$y, event = d$failed) ~ d$Xfactor, data = d), 
  xlab = "Years", 
  ylab = "Overall survival probability",
  main = "Overall survival",
  legend.labs = c(expression(<= "4 Units"),"> 4 Units"))



1 Ответ

1 голос
/ 06 марта 2020

Чтобы поместить символ Unicode в строку, вы можете использовать номер Unicode для символа, который вы хотите экранировать с помощью \u. То есть используется \u2265 для ≥ и \u2264 для ≤.

ggsurvplot(
  fit = survfit(Surv(d$y, event = d$failed) ~ d$Xfactor, data = d), 
  xlab = "Years", 
  ylab = "Overall survival probability",
  main = "Overall survival",
  legend.labs = c("\u2264 4 Units","> 4 Units"))

enter image description here

...