R: Design matrix of a 'fixest' object

model.matrix.fixest {fixest} | R Documentation

## Design matrix of a `fixest` object

### Description

This function creates the left-hand-side or the right-hand-side(s) of a `femlm`, `feols` or `feglm` estimation.

### Usage

    ## S3 method for class 'fixest'
    model.matrix(
      object,
      data,
      type = "rhs",
      na.rm = TRUE,
      subset = FALSE,
      as.matrix = FALSE,
      as.df = FALSE,
      collin.rm = TRUE,
      ...
    )

### Arguments

`object` | A `fixest` object. Obtained using the functions `femlm`, `feols` or `feglm`.
`data` | If missing (default) then the original data is obtained by evaluating the `call`. Otherwise, it should be a `data.frame`.
`type` | Character vector or one sided formula, default is "rhs". Contains the type of matrix/data.frame to be returned. Possible values are: "lhs", "rhs", "fixef", "iv.rhs1" (1st stage RHS), "iv.rhs2" (2nd stage RHS), "iv.endo" (endogenous vars.), "iv.exo" (exogenous vars), "iv.inst" (instruments).
`na.rm` | Default is `TRUE`. Should observations with NAs be removed from the matrix?
`subset` | Logical or character vector. Default is `FALSE`. If `TRUE`, then the matrix created will be restricted only to the variables contained in the argument `data`, which can then contain a subset of the variables used in the estimation. If a character vector, then only the variables matching the elements of the vector via regular expressions will be created.
`as.matrix` | Logical scalar, default is `FALSE`. Whether to coerce the result to a matrix.
`as.df` | Logical scalar, default is `FALSE`. Whether to coerce the result to a data.frame.
`collin.rm` | Logical scalar, default is `TRUE`. Whether to remove variables that were found to be collinear during the estimation. Beware: it does not perform a collinearity check.
`...` | Not currently used.

### Value

It returns either a vector, a matrix or a data.frame. It returns a vector for the dependent variable ("lhs"), a data.frame for the fixed-effects ("fixef") and a matrix for any other type.

### Author(s)

Laurent Berge

### See Also

See also the main estimation functions `femlm`, `feols` or `feglm`. `formula.fixest`, `update.fixest`, `summary.fixest`, `vcov.fixest`.

### Examples

    base = iris
    names(base) = c("y", "x1", "x2", "x3", "species")

    est = feols(y ~ poly(x1, 2) + x2, base)
    head(model.matrix(est))

    # Illustration of subset

    # subset => character vector
    head(model.matrix(est, subset = "x1"))

    # subset => TRUE, only works with data argument!!
    head(model.matrix(est, data = base[, "x1", drop = FALSE], subset = TRUE))

[Package fixest version 0.10.1 Index]