簡體   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