2017-10-17 459 views
0

我安装了Cox模型,然后使用cox.zph测试了比例风险假设。如何在R中保存ggcoxzph图?

我使用ggcoxzph绘制了缩放的Schoenfeld残差,结果非常整齐,我想保存它。

由于我的变量是一个因子,因此ggcoxzph会返回一个由4个图组成的网格,并且Global pvalue位于顶部。

> coxt %>% cox.zph %>% ggcoxzph %>% class 
[1] "ggcoxzph" "ggsurv" "list" 

问题是ggsave()不接受这些类:

应用于类的对象关于 'grid.draw' 不适用方法“C( 'ggcoxzph', 'ggsurv','清单')“

coxt %>% cox.zph %>% ggcoxzph %>% print尽管作品很有魅力。

由于此测试是在一个函数中(将应用​​于变量列表),因此最好不要在保存之前打印该图。

如何以这种方式保存我的情节?

+0

你试过'类(ggcoxzph)<方式 - C( “GG”, “ggplot”)'然后'ggsave '? – missuse

+0

不错的想法,但“plot_clone(绘图)错误:尝试应用非功能” –

回答

1

下面是使用gridExtra

library(gridExtra) 
library(ggplot2) 
ggsave("ggcoxzph", arrangeGrob(grobs = object.ggcoxzph)) 

完整的例子

library(survival) 
library(survminer) 
fit <- coxph(Surv(futime, fustat) ~ age + ecog.ps + rx, data=ovarian) 
cox.zph.fit <- cox.zph(fit) 
plot_zph = ggcoxzph(cox.zph.fit) 
library(gridExtra) 
ggsave("ggcoxzph", arrangeGrob(grobs = plot_zph))