r - 生存函数图中哪条曲线是哪条曲线?

标签 r plot survival-analysis

我正在用生存包绘制生存函数。一切正常,但我怎么知道哪条曲线是哪条曲线?以及如何将其添加到图例中?

  url <- "http://socserv.mcmaster.ca/jfox/Books/Companion/data/Rossi.txt"
  Rossi <- read.table(url, header=TRUE)[,c(1:10)]
  km <- survfit(Surv(week, arrest)~race, data=Rossi)
  plot(km, lty=c(1 ,2))

最佳答案

how do I know which curve is which?



使用 str() 你可以看到哪些元素在 km 中。km$strata 显示有 48 和 10 个元素。这与 km$surv 中前 48 项和后 10 项的下降模式一致
km$surv[1:48]
km$surv[49:58]

所以除了 print() 中的顺序提示之外,使用这个特定的数据集,我们还可以确定前 48 个元素属于 race=black

And how can I add it to a legend?



与其他模型输出不同,km 不容易转换为 data.frame。但是,我们可以自己提取元素并创建一个 data.frame,然后自己绘制它。

首先,我们创建一个与层相关的因子:48 个黑人和 10 个其他人
race <- as.factor(c(rep("black", 48), rep("other", 10)))
df <- data.frame(surv = km$surv, race = race, time = km$time)

接下来我们可以像往常一样绘制它(在我的例子中,使用 ggplot2)。
library(ggplot2)
ggplot(data = df, aes(x = time, y = surv)) + 
    geom_point(aes(colour = race)) + 
    geom_line(aes(colour = race)) +
    theme_bw()

survival by race

关于r - 生存函数图中哪条曲线是哪条曲线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45398821/

相关文章:

r - ggplot2 stat_smooth 错误

r - 如何识别R中的序列

r - 如何结合情节和传说?

r - 将 ggsurvplot 中的 xlim 更改为笛卡尔坐标

r - 以整洁的方式匿名化数据框的选定列

r - 使用 ggplot2 的整数值绘制阿基米德螺线

iphone - 绘制不连续的数学表达式?

python - 为最短路径提供与图中其余路径不同的颜色

r - 如何绘制多变量survreg生成的生存曲线

r - survreg 左截断(延迟输入)数据