我在plot.gam函数中发现了一个关于地毯位置的行为,这对我来说似乎很奇怪:当用一个变量因子绘制一个平滑的术语时,地毯是 - 据我所知 - 而不是它们在哪里应该。我使用R版本3.2.0和mgcv 1.8-6。 所以我错了,plot.gam表现得应该如此,我只是不明白它在做什么?或者plot.gam中有错误吗?
感谢您花时间看看!
这是一个例子(我希望它们发生的地毯将用红色绘制):
# produce a gam to work with
gamSim(4,n=400)->dat
gam(y~s(x0) + s(x1) + s(x2, by=fac),data=dat) -> b
x11();par(mfrow=c(2,2))
# correct work for smooth terms without by variable
plot(b,select=1,main="x0 without by-variable")
rug(dat$x0,col="red")
# plot the three smooths for x2 - here the rugs differ from what I'd expect
for(i in 1:3){
which(dat$fac == i) -> f
plot(b,select=i+2,main=sprintf("x2; by=fac(%i)",i))
rug(dat$x2[f],col="red")
}