R: Default arguments for fixest estimations

setFixest_estimation {fixest} | R Documentation

## Default arguments for fixest estimations

### Description

This function sets globally the default arguments of fixest estimations.

### Usage

    setFixest_estimation(
      fixef.rm = "perfect",
      fixef.tol = 1e-06,
      fixef.iter = 10000,
      collin.tol = 1e-10,
      lean = FALSE,
      verbose = 0,
      warn = TRUE,
      combine.quick = NULL,
      demeaned = FALSE,
      mem.clean = FALSE,
      glm.iter = 25,
      glm.tol = 1e-08,
      panel.id = NULL,
      reset = FALSE
    )

    getFixest_estimation()

### Arguments

`fixef.rm` | Can be equal to "perfect" (default), "singleton", "both" or "none". Controls which observations are to be removed. If "perfect", then observations having a fixed-effect with perfect fit (e.g. only 0 outcomes in Poisson estimations) will be removed. If "singleton", all observations for which a fixed-effect appears only once will be removed. The meaning of "both" and "none" is direct.
`fixef.tol` | Precision used to obtain the fixed-effects. Defaults to `1e-5`. It corresponds to the maximum absolute difference allowed between two coefficients of successive iterations. Argument `fixef.tol` cannot be lower than `10000*.Machine$double.eps`. Note that this parameter is dynamically controlled by the algorithm.
`fixef.iter` | Maximum number of iterations in fixed-effects algorithm (only in use for 2+ fixed-effects). Default is 10000.
`collin.tol` | Numeric scalar, default is `1e-10`. Threshold deciding when variables should be considered collinear and subsequently removed from the estimation. Higher values means more variables will be removed (if there is presence of collinearity). One signal of presence of collinearity is t-stats that are extremely low (for instance when t-stats < 1e-3).
`lean` | Logical, default is `FALSE`. If `TRUE` then all large objects are removed from the returned result: this will save memory but will block the possibility to use many methods. It is recommended to use the arguments `se` or `cluster` to obtain the appropriate standard-errors at estimation time, since obtaining different SEs won't be possible afterwards.
`verbose` | Integer. Higher values give more information. In particular, it can detail the number of iterations in the demeaning algorithm (the first number is the left-hand-side, the other numbers are the right-hand-side variables).
`warn` | Logical, default is `TRUE`. Whether warnings should be displayed (concerns warnings relating to convergence state).
`combine.quick` | Logical. When you combine different variables to transform them into a single fixed-effects you can do e.g. `y ~ x | paste(var1, var2)`. The algorithm provides a shorthand to do the same operation: `y ~ x | var1^var2`. Because pasting variables is a costly operation, the internal algorithm may use a numerical trick to hasten the process. The cost of doing so is that you lose the labels. If you are interested in getting the value of the fixed-effects coefficients after the estimation, you should use `combine.quick = FALSE`. By default it is equal to `FALSE` if the number of observations is lower than 50,000, and to `TRUE` otherwise.
`demeaned` | Logical, default is `FALSE`. Only used in the presence of fixed-effects: should the centered variables be returned? If `TRUE`, it creates the items `y_demeaned` and `X_demeaned`.
`mem.clean` | Logical, default is `FALSE`. Only to be used if the data set is large compared to the available RAM. If `TRUE` then intermediary objects are removed as much as possible and `gc` is run before each substantial C++ section in the internal code to avoid memory issues.
`glm.iter` | Number of iterations of the glm algorithm. Default is 25.
`glm.tol` | Tolerance level for the glm algorithm. Default is `1e-8`.
`panel.id` | The panel identifiers. Can either be: i) a one sided formula (e.g. `panel.id = ~id+time`), ii) a character vector of length 2 (e.g. `panel.id=c('id', 'time')`, or iii) a character scalar of two variables separated by a comma (e.g. `panel.id='id,time'`). Note that you can combine variables with `^` only inside formulas (see the dedicated section in `feols`).
`reset` | Logical, default to `FALSE`. Whether to reset all values.

### Value

The function `getFixest_estimation` returns the currently set global defaults.

### Examples

    #
    # Example: removing singletons is FALSE by default
    #

    # => changing this default

    # Let's create data with singletons
    base = iris
    names(base) = c("y", "x1", "x2", "x3", "species")
    base$fe_singletons = as.character(base$species)
    base$fe_singletons[1:5] = letters[1:5]

    res          = feols(y ~ x1 + x2 | fe_singletons, base)
    res_noSingle = feols(y ~ x1 + x2 | fe_singletons, base, fixef.rm = "single")

    # New defaults
    setFixest_estimation(fixef.rm = "single")
    res_newDefault = feols(y ~ x1 + x2 | fe_singletons, base)

    etable(res, res_noSingle, res_newDefault)

    # Resetting the defaults
    setFixest_estimation(reset = TRUE)

[Package fixest version 0.8.4 Index]