【发布时间】:2021-07-20 00:53:56
【问题描述】:
我正在尝试复制这个情节,在这里:
这是这个情节的来源,幻灯片 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')
谢谢!
【问题讨论】:
-
如果没有您的
data,如果我们自己的数据不能充分代表您的结构,我们就没有什么可以提出的建议。以下链接有几个很好的建议可以使问题可重现,即使用dput(x)提供明确的样本数据。谢谢! stackoverflow.com/q/5963269、minimal reproducible example 和 stackoverflow.com/tags/r/info -
@r2evans,感谢您的评论。我已经相应地更新了我的问题。我正在使用“aids”和“aids.id”数据作为 JM 包的一部分。
-
(我有点惊讶
JM通过了 CRAN 的测试:它没有在DESCRIPTION中列出任何导入的包,我认为这是一个严格的要求。) -
我分别加载了
nlme和survival包以获取lme和coxph,但我无法生成p1情节,抱怨:x has insufficient unique values to support 10 knots: reduce k。我可以用jitter(stackoverflow.com/questions/30208670/…) 来解决它,但这与你所拥有的任何一个情节都相去甚远。 -
但是,您问到有关将 ggplot 和基本图形结合起来的问题,也许我的回答有帮助?
标签: r ggplot2 plot mixed-models survival-analysis