Вставка математических символов в легенды графиков R
Я использую Survminer для построения графика выживаемости с двумя кривыми выживаемости, одну для пациентов, получивших 4 единицы упакованных красных кровяных клеток (PRBC) во время операции, и одну для пациентов, получивших более 4 единиц PRBC. К сожалению, мне не удалось вставить правильный знак "<=" в легенду с помощью функций "выражение" или "кавычка".
Я читал предыдущие сообщения по этому поводу, но рекомендации, которые мне удалось найти с помощью expression() и 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 ответ
Решение
Чтобы поместить символ Юникода в строку, вы можете использовать номер Юникода для символа, который вы хотите экранировать с помощью \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"))