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

