modeltools (version 0.2-23)

ModelEnvFormula: Generate a model environment from a classical formula based interface.

Description

A flexible implementation of the classical formula based interface.

Usage

ModelEnvFormula(formula, data = list(), subset = NULL, 
                na.action = NULL, frame = NULL, 
                enclos = sys.frame(sys.nframe()), other = list(), 
                designMatrix = TRUE, responseMatrix = TRUE,
                setHook = NULL, ...)

Arguments

formula

a symbolic description of the model to be fit.

data

an optional data frame containing the variables in the model. If not found in data, the variables are taken from frame, by default the environment from which ModelEnvFormula is called.

subset

an optional vector specifying a subset of observations to be used in the fitting process.

na.action

a function which indicates what should happen when the data contain NA's.

frame

an optional environment formula is evaluated in.

enclos

specifies the enclosure passed to eval for evaluating the model frame. The model frame is evaluated in envir = frame with enclos = enclos, see eval.

other

an optional named list of additional formulae.

designMatrix

a logical indicating whether the design matrix defined by the right hand side of formula should be computed.

responseMatrix

a logical indicating whether the design matrix defined by the left hand side of formula should be computed.

setHook

a list of functions to MEapply every time set is called on the object.

additional arguments for be passed to function, for example contrast.arg to model.matrix.

Value

An object of class ModelEnvFormula-class.

Details

This function is an attempt to provide a flexible infrastucture for the implementation of classical formula based interfaces. The arguments formula, data, subset and na.action are well known and are defined in the same way as in lm, for example.

ModelEnvFormula returns an object of class ModelEnvFormula-class - a high level object for storing data improving upon the capabilities of data.frames.

Examples

# NOT RUN {
### the `usual' interface
data(iris)
mf <- ModelEnvFormula(Species ~ ., data = iris)
mf

### extract data from the ModelEnv object
summary(mf@get("response"))
summary(mf@get("input"))
dim(mf@get("designMatrix"))

### contrasts
mf <- ModelEnvFormula(Petal.Width ~ Species, data = iris, 
                      contrasts.arg = list(Species = contr.treatment))
attr(mf@get("designMatrix"), "contrasts")
mf <- ModelEnvFormula(Petal.Width ~ Species, data = iris, 
                      contrasts.arg = list(Species = contr.sum))
attr(mf@get("designMatrix"), "contrasts")

### additional formulae
mf <- ModelEnvFormula(Petal.Width ~ Species, data = iris, 
                      other = list(pl = ~ Petal.Length))
ls(mf@env)
identical(mf@get("pl")[[1]], iris[["Petal.Length"]])

# }