Extracts partial residuals from a model or psem object for a given x and y.

partialResid(formula., modelList, data = NULL)



A formula where the lhs is the response and the rhs is the predictor whose partial effect is desired.


A list of structural equations.


A data.frame used to fit the equations.


Returns a data.frame of residuals of y ~ Z called yresids, of x ~ Z called xresids.


This function computes the partial residuals of y ~ x + Z in a two-step procedure to remove the variation explained by Z: (1) remove x from the equation and model y ~ Z, and (2) replace y with x and model x ~ Z.

See also


# Generate data dat <- data.frame(y = rnorm(100), x1 = rnorm(100), x2 = rnorm(100)) # Build model model <- lm(y ~ x1 + x2, dat) # Compute partial residuals of y ~ x1 yresid <- resid(lm(y ~ x2, dat)) xresid <- resid(lm(x1 ~ x2, dat)) plot(yresid, xresid)
# Use partialResid presid <- partialResid(y ~ x1, model)
#> Error in is.data.frame(data): object 'dat' not found
plot(presid) # identical plot!
#> Error in plot(presid): object 'presid' not found