model.frame.pdata.frame {plm} | R Documentation |
model.frame and model.matrix for panel data
Description
Methods to create model frame and model matrix for panel data.
Usage
## S3 method for class 'pdata.frame'
model.frame(
formula,
data = NULL,
...,
lhs = NULL,
rhs = NULL,
dot = "previous"
)
## S3 method for class 'pdata.frame'
formula(x, ...)
## S3 method for class 'plm'
model.matrix(object, ...)
## S3 method for class 'pdata.frame'
model.matrix(
object,
model = c("pooling", "within", "Between", "Sum", "between", "mean", "random", "fd"),
effect = c("individual", "time", "twoways", "nested"),
rhs = 1,
theta = NULL,
cstcovar.rm = NULL,
...
)
Arguments
data |
a |
... |
further arguments. |
lhs |
inherited from package |
rhs |
inherited from package |
dot |
inherited from package |
x |
a |
object , formula |
an object of class |
model |
one of |
effect |
the effects introduced in the model, one of
|
theta |
the parameter for the transformation if |
cstcovar.rm |
remove the constant columns, one of |
Details
The lhs
and rhs
arguments are inherited from Formula
, see
there for more details.
The model.frame
methods return a
pdata.frame
object suitable as an input to plm's
model.matrix
.
The model.matrix
methods builds a model matrix
with transformations performed as specified by the model
and
effect
arguments (and theta
if model = "random"
is
requested), in this case the supplied data
argument should be a
model frame created by plm's model.frame
method. If not, it is
tried to construct the model frame from the data. Constructing the
model frame first ensures proper NA
handling, see Examples.
Value
The model.frame
methods return a pdata.frame
.
The
model.matrix
methods return a matrix
.
Author(s)
Yves Croissant
See Also
pmodel.response()
for (transformed) response
variable.
Formula::Formula()
from package Formula
,
especially for the lhs
and rhs
arguments.
Examples
# First, make a pdata.frame
data("Grunfeld", package = "plm")
pGrunfeld <- pdata.frame(Grunfeld)
# then make a model frame from a formula and a pdata.frame
form <- inv ~ value
mf <- model.frame(pGrunfeld, form)
# then construct the (transformed) model matrix (design matrix)
# from model frame
modmat <- model.matrix(mf, model = "within")
## retrieve model frame and model matrix from an estimated plm object
fe_model <- plm(form, data = pGrunfeld, model = "within")
model.frame(fe_model)
model.matrix(fe_model)
# same as constructed before
all.equal(mf, model.frame(fe_model), check.attributes = FALSE) # TRUE
all.equal(modmat, model.matrix(fe_model), check.attributes = FALSE) # TRUE