Package 'partialling.out'

Title: Residuals from Partial Regressions
Description: Creates a data frame with the residuals of partial regressions of the main explanatory variable and the variable of interest. This method follows the Frisch-Waugh-Lovell theorem, as explained in Lovell (2008) <doi:10.3200/JECE.39.1.88-91>.
Authors: Marc Bosch-Matas [aut, cre] (ORCID: <https://orcid.org/0009-0008-8653-0577>), Christian Testa [rev] (Christian reviewed the package (v. 0.1.1) for rOpenSci, see <https://github.com/ropensci/software-review/issues/703>), Kyle Butts [rev] (Kyle reviewed the package (v. 0.1.1) for rOpenSci, see <https://github.com/ropensci/software-review/issues/703>), Adam Loy [rev] (Adam reviewed the package (v. 0.1.1) for rOpenSci, see <https://github.com/ropensci/software-review/issues/703>)
Maintainer: Marc Bosch-Matas <[email protected]>
License: GPL (>= 3)
Version: 0.2.0
Built: 2025-10-12 19:20:44 UTC
Source: https://github.com/ropensci/partialling.out

Help Index


partialling_out: partialling out variable of interest and main

Description

Creates a data.frame of the residualised main explanatory variable and, if wanted, variable of interest of a linear or fixed effects model

Usage

partialling_out(model, data, weights, both, na.rm, ...)

Arguments

model

object for which we want to residualise variables

data

data.frame used in the original model. Using different data will return unexpected results or an error.

weights

a numeric vector for weighting the partial models. Length must be equal to number of rows of data

both

if TRUE will residualise both the variable of interest and the first explanatory variable in the model. If FALSE, only the latter. Set to TRUE by default

na.rm

if TRUE will remove observations with NA before any models are run. If FALSE, the underlying lm, feols, or felm will remove NA values but errors may arise if weights are used.

...

Any other lm, feols, or felm parameters that will be passed to the partial regressions

Details

The function regresses the main (i.e. first in the model) explanatory variable and the variable of interest (if parameter both is set to TRUE) against all other control variables and fixed effects and returns the residuals in a data.frame

Will accept lm, felm (lfe package), and feols (fixest package) objects

Value

a data.frame with the (residualised) variable of interest and residualised main explanatory variable

Examples

library(palmerpenguins)
library(fixest)
model <- feols(bill_length_mm ~ bill_depth_mm | species + island,
               data = penguins)
partial_df <- partialling_out(model, penguins, both = TRUE)

plot_partial_residuals: scatterplot of partial residuals

Description

Function for plotting partial residuals Uses tinyplot as backend

Usage

plot_partial_residuals(x, add_lm = TRUE, quantile = FALSE, probs = 0.02, ...)

Arguments

x

a partial_residuals objects from partialling_out()

add_lm

if TRUE, a lm will be plotted

quantile

if TRUE, will plot only the mean values of the quantiles of the mean explanatory variable specified by probs

probs

numeric vector of length one that specifies the number of quantiles to be computed if quantile is TRUE. by default, 0.02, which will give 50 quantiles.

...

Any other tinyplot::plt() params

Value

invisibly, x

Examples

library(palmerpenguins)
library(fixest)
model <- feols(bill_length_mm ~ bill_depth_mm | species + island,
               data = penguins)
partial_df <- partialling_out(model, penguins, both = TRUE)
plot_partial_residuals(partial_df)