首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止plot.gam生成图形

防止plot.gam生成图形
EN

Stack Overflow用户
提问于 2017-09-21 13:40:57
回答 1查看 414关注 0票数 3

比如说,我有一个这样的GAM:

代码语言:javascript
复制
# 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生成所需的所有信息,如下所示:

代码语言:javascript
复制
foo <- plot(mpg.gam)

这也会产生一个不需要的数字。(是的,我意识到我在抱怨一个绘图函数策划了一些事情.)当以同样的方式使用visreg时,我只需指定plot = FALSE来抑制这个数字,但是plot.gam似乎没有这个选项。我的第一个想法也许是invisible会做这项工作(例如,invisible(foo <- plot(mpg.gam))),但这似乎行不通。有没有一个简单的方法来做到这一点,而不输出不想要的数字文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-21 14:01:11

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

代码语言:javascript
复制
# 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

好样的!

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46345546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档