繁体   English   中英

防止plot.gam产生图形

[英]Prevent plot.gam from producing a figure

说,我有一个看起来像这样的GAM:

# Load library
library(mgcv)

# Load data
data(mtcars)

# Model for mpg
mpg.gam <- gam(mpg ~ s(hp) + s(wt), data = mtcars)

现在,我想使用ggplot2绘制GAM。 因此,我使用plot.gam生成我需要的所有信息,如下所示:

foo <- plot(mpg.gam)

这也会产生不需要的数字。 (是的,我意识到我在抱怨绘图函数在绘制某些东西...)以相同的方式使用visreg时,我只是指定plot = FALSE来压制图形,但是plot.gam似乎没有有这个选择。 我的第一个想法也许是invisible会完成这项工作(例如, invisible(foo <- plot(mpg.gam)) ),但这似乎没有用。 是否有一种简单的方法可以在不将不需要的图形输出到文件的情况下执行此操作?

好的,所以我最终在发布此消息5分钟后就知道了。 尽管默认行为是绘制所有项,但是可以选择绘制哪个项(例如, select = 1是第一个项, select = 2是第二个项)。 但是,如果我使用select = 0则它不会绘制任何内容,也不会给出错误,但返回的信息完全相同。 看看这个:

# Load library
library(mgcv)

# Load data
data(mtcars)

# Model for mpg
mpg.gam <- gam(mpg ~ s(hp) + s(wt), data = mtcars)

# Produces figures for all terms
foo1 <- plot(mpg.gam)

# Doesn't produce figures
foo2 <- plot(mpg.gam, select = 0)

# Compare objects
identical(foo1, foo2)

[1] TRUE

邦扎!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM