5

嗨,我对 R 完全陌生。这是我第一次尝试它。我正在制作一个按年龄细分的生存情节。我不知道如何为每个年龄线指定颜色并将其放入图例中。任何人都可以帮忙吗?

require(survival)  # not loaded by default although installed by default
group <- age
kmsurvival1 <- survfit(Surv(as.numeric(time),event) ~ group)
plot(kmsurvival1, xlab="Time",ylab="Survival Probability", mark.time = F)
4

1 回答 1

7

您只需要指定与绘图中的行数(即组)相同长度的颜色向量。你可以这样做

N <- length(unique(group))
plot(kmsurvival1, xlab="Time",ylab="Survival Probability", mark.time = F,
col=1:N)
legend(
  "topright",
  legend=unique(group),
  col=1:N,
  horiz=FALSE,
  bty='n')

或者您可以手动指定颜色col=c('black','blue','red')(取决于您需要多少颜色)。

从 中的示例?plot.survfit

library(survival)
leukemia.surv <- survfit(Surv(time, status) ~ x, data = aml)
plot(leukemia.surv, lty = 2:3,col=3:4)
lLab <- gsub("x=","",names(leukemia.surv$strata))  ## legend labels
legend(
  "top",
  legend=lLab,
  col=3:4,
  lty=2:3,
  horiz=FALSE,
  bty='n')

在此处输入图像描述

于 2014-07-13T15:36:05.313 回答