wrapFormula function

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

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

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.

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

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.

Returns

a formula very similar to f; just replacing each additive term by its wrapped version.

Note

There are limits for this to work correctly; notably the right hand side of the formula f should not be nested or otherwise complicated, rather typically just . as in the examples.

Author(s)

Martin Maechler, May 2007.

See Also

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

Examples

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)")
  • Maintainer: Martin Maechler
  • License: GPL (>= 2)
  • Last published: 2024-11-05