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 |
Creates a data.frame of the residualised main explanatory variable and, if wanted, variable of interest of a linear or fixed effects model
partialling_out(model, data, weights, both, na.rm, ...)
partialling_out(model, data, weights, both, na.rm, ...)
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 |
both |
if |
na.rm |
if |
... |
Any other lm, feols, or felm parameters that will be passed to the partial regressions |
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
a data.frame with the (residualised) variable of interest and residualised main explanatory variable
library(palmerpenguins) library(fixest) model <- feols(bill_length_mm ~ bill_depth_mm | species + island, data = penguins) partial_df <- partialling_out(model, penguins, both = TRUE)
library(palmerpenguins) library(fixest) model <- feols(bill_length_mm ~ bill_depth_mm | species + island, data = penguins) partial_df <- partialling_out(model, penguins, both = TRUE)
Function for plotting partial residuals
Uses tinyplot
as backend
plot_partial_residuals(x, add_lm = TRUE, quantile = FALSE, probs = 0.02, ...)
plot_partial_residuals(x, add_lm = TRUE, quantile = FALSE, probs = 0.02, ...)
x |
a partial_residuals objects from |
add_lm |
if TRUE, a |
quantile |
if TRUE, will plot only the mean values of the quantiles of the mean explanatory variable specified by |
probs |
numeric vector of length one that specifies the number of quantiles to be computed if |
... |
Any other |
invisibly, x
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)
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)