2017-10-17 76 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))