2
我想編寫一個函數,用因子變量估計gam並繪製所有變量(包括因子變量)的結果。但mgcv-package的繪圖函數會引發錯誤。爲什麼會發生此錯誤,我該如何解決?從mgcv的plot.gam與函數內的all.terms = TRUE
library(mgcv)
plot_model <- function(x){
agam <- gam(mean ~ s(bla) + bla2, data=x)
plot(agam, pages=1, all.terms = TRUE)
# here Error in eval(expr, envir, enclos) : object 'x' not found
}
bla <- data.frame(bla=rnorm(20), bla2=sample(letters[1:4], size=20, replace=T),
mean=sample(20))
plot_model(bla)
# Error in eval(expr, envir, enclos) : object 'x' not found
它的作品,如果我調用數據集的數據,但它不起作用,如果我稱之爲x或x2。任何想法爲什麼它是這樣的?如果我將它稱爲數據,那麼當我省略第一行時(數據<-y),它也可以工作。 – tover
這顯然只是因素協變量的失敗。奇怪... –
mgcv不強制字符的因素。您需要爲它提供因子變量。另外,我可能會用'agam < - eval(bquote(mgcv :: gam(mean〜s(bla)+ bla2,data =。(y))))'。 – Roland