gam
model predictions, fixing all but the values in view
to the
values supplied in cond
.vis.gam(x,view=NULL,cond=list(),n.grid=30,too.far=0,col=NA,color="heat",
contour.col=NULL,se=-1,type="link",plot.type="persp",zlim=NULL,nCol=50,...)
gam
object, produced by gam()
names(x$model)
.view
). Variables omitted from
this list will have their values set to their mean for continuous variables,
or first level for factors. Names must correspond to view
can be excluded from the plot. too.far
determines what is too far. The grid is scaled into the unit
square along with the view
NA
then if se
>0 the facets are transparent,
otherwise the colour scheme specified in color
is used. If col
is not NA
then it is used as thse
<=0. one="" of="" "topo", "heat"
, "cm"
,
"terrain"
, "gray"
or "bw"
. Schemes "gray"
and
"bw"
also modif
plot.type="contour"
. Default scheme used if NULL
.se
standard errors, one at the predicted values and one at
the predicted value"link"
to plot on linear predictor scale and "response"
to plot on the response scale."contour"
or "persp"
.NULL
to choose automatically.view
. If se
<=0 then="" a="" single="" (height="" colour="" coded,="" by="" default)="" surface="" is="" produced,="" otherwise="" three="" (by="" default see-through)="" meshes="" are="" produced="" at="" mean="" and="" +="" -="" se standard errors. Parts of the x-y plane too far from
data can be excluded by setting too.far
All options to the underlying graphics functions can be reset by passing them
as extra arguments ...
: such supplied values will always over-ride the
defualt values used by vis.gam
.
persp
and gam
.library(mgcv)
set.seed(0)
n<-200;sig2<-4
x0 <- runif(n, 0, 1);x1 <- runif(n, 0, 1)
x2 <- runif(n, 0, 1)
y<-x0^2+x1*x2 +runif(n,-0.3,0.3)
g<-gam(y~s(x0,x1,x2))
old.par<-par(mfrow=c(2,2))
# display the prediction surface in x0, x1 ....
vis.gam(g,ticktype="detailed",color="heat",theta=-35)
vis.gam(g,se=2,theta=-35) # with twice standard error surfaces
vis.gam(g, view=c("x1","x2"),cond=list(x0=0.75)) # different view
vis.gam(g, view=c("x1","x2"),cond=list(x0=.75),theta=210,phi=40,
too.far=.07)
# contour examples....
vis.gam(g, view=c("x1","x2"),plot.type="contour",color="heat")
vis.gam(g, view=c("x1","x2"),plot.type="contour",color="terrain")
vis.gam(g, view=c("x1","x2"),plot.type="contour",color="topo")
vis.gam(g, view=c("x1","x2"),plot.type="contour",color="cm")
# ..... areas where there is no data are not plotted
par(old.par)
# Examples with factor and "by" variables
fac<-rep(1:4,20)
x<-runif(80)
y<-fac+2*x^2+rnorm(80)*0.1
fac<-factor(fac)
b<-gam(y~fac+s(x))
vis.gam(b,theta=-35,color="heat") # factor example
z<-rnorm(80)*0.4
y<-as.numeric(fac)+3*x^2*z+rnorm(80)*0.1
b<-gam(y~fac+s(x,by=z))
vis.gam(b,theta=-35,color="heat",cond=list(z=1)) # by variable example
vis.gam(b,view=c("z","x"),theta= 35) # plot against by variable
Run the code above in your browser using DataLab