Generate a scope for step.gam

Description

Given a data.frame as an argument, generate a scope list for use in step.gam, each element of which gives the candidates for that term.

Usage

1
gam.scope(frame, response=1, smoother = "s", arg = NULL, form = TRUE)

Arguments

frame

a data.frame to be used in step.gam. Apart from the response column, all other columns will be used.

response

The column in frame used as the response. Default is 1.

smoother

which smoother to use for the nonlinear terms; i.e. "s" or "lo", or any other supplied smoother. Default is "s".

arg

a character (vector), which is the argument to smoother. For example, arg="df=6" would result in the expression s(x,df=6) for a column named "x". This can be a vector, for example arg=c("df=4","df=6"), which would result two smooth terms.

form

if TRUE, each term is a formula, else a character vector.

Details

This function creates a similar scope formula for each variable in the frame. A column named "x" by default will generate a scope term ~1+x+s(x). With arg=c("df=4","df=6") we get ~1+x+s(x,df=4)+s(x,df=6). With form=FALSE, we would get the character vector c("1","x","s(x,df=4)","s(x,df=6").

Value

a scope list is returned, with either a formula or a character vector for each term, whcih describes the candidates for that term in the gam.

Author(s)

Written by Trevor Hastie, following closely the design in the "Generalized Additive Models" chapter (Hastie, 1992) in Chambers and Hastie (1992). This version of gam.scope is adapted from the S version.

References

Hastie, T. J. (1991) Generalized additive models. Chapter 7 of Statistical Models in S eds J. M. Chambers and T. J. Hastie, Wadsworth \& Brooks/Cole.

See Also

step.gam

Examples

1
2
3
4
5
6
data(gam.data)
gdata=gam.data[,1:3]
gam.scope(gdata,2)
gam.scope(gdata,2,arg="df=5")
gam.scope(gdata,2,arg="df=5",form=FALSE)
gam.scope(gdata,2,arg=c("df=4","df=6"))