2

我想调整 GAM 平滑函数和因子图的 y 限制,以便更轻松地比较两种不同 GAM 模型对不同季节的影响。在函数中使用ylim选项时plot.gam,我只能更改平滑函数的 y 轴,但不能更改因子。

例如:

library(mgcv)
data(cars)
Gam1 <- gam(Price~s(Mileage)+factor(Cylinder), data=cars, family="gaussian")

plot.gam(Gam1, shade=T, pages=1, all.terms=T, rug=FALSE)
plot.gam(Gam1, shade=T, pages=1, ylim=c(-8000,8000), all.terms=T, rug=FALSE)

在第二个图中,只有平滑变化的 y 限制,而不是因子。这是怎么回事,我该如何解决?

4

1 回答 1

1

就我看到plot.gam()的代码而言,很难实现。我认为您最好使用plot()and分别绘制两个图termplot()

library(caret); library(mgcv)
data(cars)
Gam1 <- gam(Price ~ s(Mileage) + as.factor(Cylinder), data=cars, family="gaussian")

par(mfrow=c(1,2))
plot(Gam1, shade=T, all.terms=F, rug=FALSE, ylim=c(-5000, 8000))
termplot(Gam1, se=T, ylim=c(-5000, 30000), ask=F, col.term = 1, col.se = 1)
par(mfrow=c(1,1))

在此处输入图像描述

于 2016-06-30T02:46:32.043 回答