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
.
# 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(xresid, yresid)
# Use partialResid
presid <- partialResid(y ~ x1, model)
#> Error in eval(mf, parent.frame()): object 'dat' not found
with(presid, plot(xresid, yresid)) # identical plot!
#> Error in eval(expr, envir, enclos): object 'presid' not found