我正在绘制
qqrplot
对象(来自 countreg
包)作为零膨胀和障碍回归模型的验证形式。
zinb_qq <- qqrplot(zinb_model, main = "Quantile-Quantile residuals plot (ZINB)"),
hnb_qq <- qqrplot(hnb_model, main = "Quantile-Quantile residuals plot (HNB)")
我注意到 qqrplot 对象不仅输出图形,它们还输出“理论和经验分位数的不可见列表。所以每当我尝试保存绘图时:
png()
和 dev.off()
功能:我得到一个白色图像,没有绘图;recordPlot()
功能:我还得到一个白色图像,没有情节;ggsave
功能:我收到错误Error in UseMethod("grid.draw") : no applicable method for 'grid.draw' applied to an object of class "list"
有人遇到过这个问题吗?您认为有其他方法可以解决这个问题吗? 谢谢。
qqrplot
函数通过ggplot工作,因此您可以使用ggsave
保存绘图,如下所示:
qqrplot(zinb_model, main = "Quantile-Quantile residuals plot (ZINB)")
ggsave('img_name_zinb.png')
qqrplot(hnb_model, main = "Quantile-Quantile residuals plot (HNB)")
ggsave('img_name_hnb.png')
据我所知,该错误源于尝试使用 ggsave 保存
zinb_qq
对象,因为 qqrplot
函数返回一个列表而不是 ggplot 对象。因此,您需要在创建新图之前保存每个图。