[R] gam plots

Thomas Lumley tlumley at u.washington.edu
Mon Dec 24 17:36:37 CET 2001

On Sat, 22 Dec 2001, Patty Solomon wrote:

> Dear R users,
> Using the library(mgcv) and running R under MacOSX, I have fitted a
> generalised additive model with binomial errors in order to check the
> linearity of two continuous variables ap2mm and diffdaysm in a glm:
> >  mymodel.gam <- gam(diedhos~ s(ap2mm) + Dweekm + s(diffdaysm) +
>   Dweekm:diffdaysm + ap2mm:Dweekm, binomial)
> I would like postscript gam plots for the two smoothed terms to be
> produced on separate pages, but am having trouble getting these.  I
> can get the two plots output to a single page using
> >  postscript("gams.ps")
> >  plot(mymodel.gam, pages=1, se=T)
> >  dev.off()
> I don't want this, but when I try replacing pages=1 with pages=2, I
> still get only one page in the postscript file with the second plot
> overlaid on the first one:
> >  plot(mymodel.gam, pages=2, se=T)
> Press return for next page....
> 	I wondered if anyone knows of a way to get each plot on a
> separate page, i.e. two postscript files?

This needs options to postscript(), not to plot() eg
You will end up with files gams1.ps and gams2.ps.

> I also noticed that the plot gives tick marks for the values of the
> variable along the horizontal axis, but I would like a rug of *all*
> the values (Splus5 produces a rug using jittering to show the density
> of the observations, but the version of R that I have doesn't do
> this, as far as I can tell).

You can edit plot.gam fairly easily to do this (either with
or by saving the code to a file and editing it)

There are two calls to rug() in plot.gam() and you want to insert jitter()
in each one: ie change
          rug(as.numeric(x$x[x$nsdf + i, ]))
          rug(jitter(as.numeric(x$x[x$nsdf + i, ])))

If you could live with regression splines instead of smoothing splines you
could fit a glm() and use termplot(), which does jitter.


Thomas Lumley			Asst. Professor, Biostatistics
tlumley at u.washington.edu	University of Washington, Seattle

r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch

More information about the R-help mailing list