Learn R Programming

sfsmisc (version 1.1-19)

wrapFormula: Enhance Formula by Wrapping each Term, e.g., by "s(.)"

Description

The main motivation for this function has been the easy construction of a “full GAM formula” from something as simple as Y ~ ..
The potential use is slightly more general.

Usage

wrapFormula(f, data, wrapString = "s(*)")

Value

a formula very similar to f; just replacing each

additive term by its wrapped version.

Arguments

f

the initial formula; typically something like Y ~ ..

data

data.frame to which the formula applies; see, formula or also gam or lm.

wrapString

character string, containing "*", specifying the wrapping expression to use.

Author

Martin Maechler, May 2007.

See Also

formula; gam from package mgcv (or also from package gam).

Examples

Run this code
myF <- wrapFormula(Fertility ~ . , data = swiss)
myF # Fertility ~ s(Agriculture) + s(....) + ...

if(require("mgcv")) {
   m1 <- gam(myF, data = swiss)
   print( summary(m1) )
   plot(m1, pages = 1) ; title(format(m1$call), line= 2.5)
}

## other wrappers:
wrapFormula(Fertility ~ . , data = swiss, wrap = "lo(*)")
wrapFormula(Fertility ~ . , data = swiss, wrap = "poly(*, 4)")

Run the code above in your browser using DataLab