Learn R Programming

stats (version 3.3.2)

model.extract: 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".

Value

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

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.

See Also

model.frame, offset

Examples

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

Run the code above in your browser using DataLab