Learn R Programming

modeltools (version 0.2-4)

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, other = list(), 
                designMatrix = TRUE, responseMatrix = TRUE, ...)

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
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.
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.
...
additional arguments for be passed to function, for example contrast.arg to model.matrix.

Value

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

Run this code
### 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"]])

Run the code above in your browser using DataLab