expand.model.frame           package:base           R Documentation

Add new variables to a model frame

Description:

     Evaluates new variables as if they had been part of the formula of
     the specified model.  This ensures that the same `na.action' and
     `subset' arguments are applied and allows e.g. `x' to be recovered
     for a model using `sin(x)' as a predictor.

Usage:

     expand.model.frame(model, extras, envir=environment(formula(model)),
                        na.expand = FALSE)

Arguments:

   model: a fitted model

  extras: one-sided formula or vector of character strings describing
          new variables to be added

   envir: an environment to evaluate things in

na.expand: logical; see below

Details:

     If `na.expand=FALSE' then `NA' values in the extra variables will
     be passed to the `na.action' function used in `model'.  This may
     result in a shorter data frame (with `na.omit') or an error (with
     `na.fail').  If `na.expand=TRUE' the returned data frame will have
     precisely the same rows as `model.frame(model)', but the columns
     corresponding to the extra variables may contain `NA'.

Value:

     A data frame.

See Also:

     `model.frame',`predict'

Examples:

     data(trees)
     model <- lm(log(Volume) ~ log(Girth) + log(Height), data=trees)
     expand.model.frame(model, ~ Girth) # prints data.frame like

     dd <- data.frame(x=1:5, y=rnorm(5), z=c(1,2,NA,4,5))
     model <- glm(y ~ x, data=dd, subset=1:4, na.action=na.omit)
     expand.model.frame(model, "z", na.expand=FALSE) # = default
     expand.model.frame(model, "z", na.expand=TRUE)

