r - 如何用两个面板复制情节?
问题描述
我正在尝试复制这个情节,在这里:
这是该图的来源,幻灯片 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')
谢谢!
解决方案
我能够使用该survest()
函数在不同时间点提取危险值。然后,我能够使用 来绘制它ggplot
,这意味着我可以使用grid.arrange()
.
est<-survest(p2,,what='hazard')
hazard<-data.frame(time=est$time, hazard=est$surv)
推荐阅读
- php - how to show warning of empty field on form validation?
- firebase - How to show just QuerySnapshots with boolean true in ListView? (Dart/Flutter)
- javascript - Asynchronous functions in an else block
- c++ - X11: How to get current top-left corner coordinates in visible area, when panning with mouse?
- postgresql - Why is the range of the timestamp type 4713 BC to 294276 AD?
- docker-compose - Errors while create channel in hyperledger fabric
- reactjs - Register values with useForm and react-select-country-list
- python - Unable to downgrade/uninstall shap (windows)
- flutter - I get this message while run the code which I got it from codecanyon?
- custom-action - how to change device id (google smart home action)