R: Extract Components from a Model Frame

model.extract {stats} | R Documentation

## Extract Components from a Model Frame

### Description

Returns the response, offset, subset, weights or other special components of a model frame passed as optional arguments to `model.frame`.

### Usage

    model.extract(frame, component)
    model.offset(x)
    model.response(data, type = "any")
    model.weights(x)

### Arguments

`frame, x, data` | A model frame.
`component` | literal character string or name. The name of a component to extract, such as `"weights"`, `"subset"`.
`type` | One of `"any"`, `"numeric"`, `"double"`. Using either of latter two coerces the result to have storage mode `"double"`.

### Details

`model.extract` is provided for compatibility with S, which does not have the more specific functions. It is also useful to extract e.g. the `etastart` and `mustart` components of a `glm` fit.

`model.offset` and `model.response` are equivalent to `model.extract(, "offset")` and `model.extract(, "response")` respectively. `model.offset` sums any terms specified by `offset` terms in the formula or by `offset` arguments in the call producing the model frame: it does check that the offset is numeric.

`model.weights` is slightly different from `model.frame(, "weights")` in not naming the vector it returns.

### Value

The specified component of the model frame, usually a vector.

### See Also

`model.frame`, `offset`

### Examples

    a <- model.frame(cbind(ncases,ncontrols) ~ agegp + tobgp + alcgp, data = esoph)
    model.extract(a, "response")
    stopifnot(model.extract(a, "response") == model.response(a))

    a <- model.frame(ncases/(ncases+ncontrols) ~ agegp + tobgp + alcgp,
                     data = esoph, weights = ncases+ncontrols)
    model.response(a)
    model.extract(a, "weights")

    a <- model.frame(cbind(ncases,ncontrols) ~ agegp,
                     something = tobgp, data = esoph)
    names(a)
    stopifnot(model.extract(a, "something") == esoph$tobgp)

[Package stats version 3.5.1 Index]