R: Generate a model environment from a classical formula based...

ModelEnvFormula {modeltools} | R Documentation

## 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`.

### 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.frame`s.

### Value

An object of class `ModelEnvFormula-class`.

### Examples

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

[Package modeltools version 0.2-22 Index]