将 QQrplot 对象保存为图像

问题描述 投票:0回答:1

我正在绘制

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"
  • 当我输出保存的绘图时,我只得到数字列表。

有人遇到过这个问题吗?您认为有其他方法可以解决这个问题吗? 谢谢。

r plot qqplot
1个回答
0
投票

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 对象。因此,您需要在创建新图之前保存每个图。

© www.soinside.com 2019 - 2024. All rights reserved.