pmodel.response {plm} | R Documentation

## A function to extract the model.response

### Description

pmodel.response has several methods to conveniently extract the response of several objects.

### Usage

    pmodel.response(object, ...)
    ## S3 method for class 'data.frame'
    pmodel.response(object, ...)
    ## S3 method for class 'formula'
    pmodel.response(object, data, ...)
    ## S3 method for class 'plm'
    pmodel.response(object, ...)

### Arguments

`object` | an object of class `"plm"`, or a formula of class `"pFormula"`,
`data` | a `data.frame`
`...` | further arguments.

### Details

The model response is extracted from a `pdata.frame` (where the response must reside in the first column; this is the case for a model frame), a `pFormula` + `data` or a `plm` object, and the transformation specified by `effect` and `model` is applied to it.
Constructing the model frame first ensures proper NA handling and the response being placed in the first column, see also Examples for usage.

### Value

A numeric vector.

### Author(s)

Yves Croissant

### See Also

`plm`'s `model.matrix` for (transformed) model matrix and the corresponding `model.frame` method to construct a model frame.

### Examples

    # First, make a pdata.frame
    data(Grunfeld)
    pGrunfeld <- pdata.frame(Grunfeld)

    # then make a model frame from a pFormula and a pdata.frame
    pform <- pFormula(inv ~ value + capital)
    mf <- model.frame(pform, data = pGrunfeld)

    # construct (transformed) response of the within model
    resp <- pmodel.response(pform, data = mf, model = "within", effect = "individual")

    # retrieve (transformed) response directly from model frame
    resp_mf <- pmodel.response(mf, model = "within", effect = "individual")

    # retrieve (transformed) response from a plm object, i.e. an estimated model
    fe_model <- plm(pform, data = pGrunfeld, model = "within")
    pmodel.response(fe_model)

    # same as constructed before
    all.equal(resp, pmodel.response(fe_model), check.attributes = FALSE) # TRUE

[Package plm version 1.6-6 Index]