【发布时间】:2013-05-17 17:29:59
【问题描述】:
为了使用 ggplot 进行训练并提高我编写 R 函数的技能,我决定构建一系列生成生存图的函数,以及各种附加功能。我设法为基本的生存情节建立了一个很好的工作功能,现在我开始做额外的事情了。我想做的一件事是在生存图的顶部堆叠一个在给定时间点有风险的数字的面积图。我希望它看起来像 ggplot 的 facet_grid 选项,但我没有设法用这个函数做到这一点。我不想绑定两个图,就像我们可以使用 grid.arrange 那样,而是希望拥有相同的 x 轴。
以下代码生成两个(简化的)图,我想将它们堆叠在一起。我试图用facet_grid 来做这件事,但我认为解决方案不在于这个
library(survival)
library(ggplot2)
data(lung)
s <- survfit(Surv(time, status) ~ 1, data = lung)
dat <- data.frame(time = c(0, s$time),
surv = c(1, s$surv),
nr = c(s$n, s$n.risk))
pl1 <- ggplot(dat, aes(time, surv)) + geom_step()
pl2 <- ggplot(dat, aes(time, nr)) + geom_area()
【问题讨论】: