首页 > 解决方案 > 如何用两个面板复制情节?

问题描述

我正在尝试复制这个情节,在这里:

在此处输入图像描述

这是该图的来源,幻灯片 89:

http://www.drizopoulos.com/courses/Int/JMwithR_CEN-ISBS_2017.pdf

图的顶部是随时间变化的风险函数,而底部绿色曲线是随时间变化的拟合线性混合效应模型。

我已经能够分别绘制这两个,但是,似乎无法使用 par(mfrow=c(2,1)) 或 gridExtra 包将它们组合起来(因为只有一个是 ggplot 对象)。

我在 R 中使用 aids 和 aids.id 数据集(作为 JM 包的一部分)。


# Load packages JM and lattice
library("JM")
library("lattice")
library("ggplot2")

#Fit models
lmeFit.aids <- lme(CD4 ~ obstime + obstime:drug,
    random = ~ obstime | patient, data = aids)

coxFit.aids <- coxph(Surv(Time, death) ~ drug, data = aids.id, x = TRUE)

#Plot longitudinal process
p1<-ggplot(data=aids,aes(x=obstime,y=fitted(lmeFit.aids)))
p1<-p1+geom_smooth(se=FALSE)
p1

#Plot survival process 
library(rms)
p2<-psm(Surv(Time,death)~1,data=aids.id)
survplot(p2,what='hazard')


谢谢!

标签: rggplot2plotmixed-modelssurvival-analysis

解决方案


我能够使用该survest()函数在不同时间点提取危险值。然后,我能够使用 来绘制它ggplot,这意味着我可以使用grid.arrange().

est<-survest(p2,,what='hazard')
hazard<-data.frame(time=est$time, hazard=est$surv)

推荐阅读