(Robustly) estimate the effects in a mediation model.
fit_mediation(object, ...)# S3 method for formula
fit_mediation(formula, data, ...)
# S3 method for default
fit_mediation(object, x, y, m, covariates = NULL,
method = c("regression", "covariance"), robust = TRUE,
median = FALSE, control = NULL, ...)
the first argument will determine the method of the generic function to be dispatched. For the default method, this should be a data frame containing the variables.
additional arguments to be passed down. For the default
method, this can be used to specify tuning parameters directly instead
of via control
.
an object of class "formula" (or one that can be coerced to
that class): a symbolic description of the model to be fitted. Hypothesized
mediator variables should be wrapped in a call to m()
(see
examples), and any optional control variables should be wrapped in a call to
covariates()
.
for the formula
method, a data frame containing the
variables.
a character string, an integer or a logical vector specifying the
column of object
containing the independent variable.
a character string, an integer or a logical vector specifying the
column of object
containing the dependent variable.
a character, integer or logical vector specifying the columns of
object
containing the hypothesized mediator variables.
optional; a character, integer or logical vector
specifying the columns of object
containing additional covariates to
be used as control variables.
a character string specifying the method of
estimation. Possible values are "regression"
(the default)
to estimate the effects via regressions, or "covariance"
to
estimate the effects via the covariance matrix. Note that the effects are
always estimated via regressions if more than one hypothesized mediator is
specified or if control variables are supplied.
a logical indicating whether to robustly estimate the effects
(defaults to TRUE
). For estimation via regressions
(method = "regression"
), this can also be a character string, with
"MM"
specifying the MM-estimator of regression, and "median"
specifying median regression.
deprecated. This argument will be removed in future
versions. Use robust = "median"
for median regression.
a list of tuning parameters for the corresponding robust
method. For robust regression (method = "regression"
, and
robust = TRUE
or robust = "MM"
), a list of tuning
parameters for lmrob()
as generated by
reg_control()
. For Huberized covariance matrix estimation
(method = "covariance"
and robust = TRUE
), a list of tuning
parameters for cov_Huber()
as generated by
cov_control()
. No tuning parameters are necessary for median
regression (method = "regression"
and robust = "median"
).
An object inheriting from class "fit_mediation"
(class
"reg_fit_mediation"
if method = "regression"
or
"cov_fit_mediation"
if method = "covariance"
) with
the following components:
a numeric vector containing the point estimates of the effect of the independent variable on the proposed mediator variables.
a numeric vector containing the point estimates of the direct effect of the proposed mediator variables on the dependent variable.
numeric; the point estimate of the direct effect of the independent variable on the dependent variable.
numeric; the point estimate of the total effect of the independent variable on the dependent variable.
an object of class "lmrob"
or
"lm"
containing the estimation results from the
regression of the proposed mediator variable on the independent variable, or
a list of such objects in case of more than one hypothesized mediator
(only "reg_fit_mediation"
).
an object of class "lmrob"
or
"lm"
containing the estimation results from the
regression of the dependent variable on the proposed mediator and
independent variables (only "reg_fit_mediation"
).
an object of class "lm"
containing the
estimation results from the regression of the dependent variable on the
independent variable (only "reg_fit_mediation"
and if robust
is FALSE
).
an object of class "cov_Huber"
or
"cov_ML"
containing the covariance matrix estimates
(only "cov_fit_mediation"
).
character vectors specifying the respective variables used.
a data frame containing the independent, dependent and proposed mediator variables, as well as covariates.
either a logical indicating whether the effects were estimated
robustly, or one of the character strings "MM"
and "median"
specifying the type of robust regressions.
a list of tuning parameters used (if applicable).
With method = "regression"
, and robust = TRUE
or
robust = "MM"
, the effects are computed via the robust MM-estimator
of regression from lmrob()
. This is the default
behavior.
With method = "regression"
and robust = "median"
, the effects
are estimated via median regressions with rq()
.
Unlike the robust MM-regressions above, median regressions are not robust
against outliers in the explanatory variables.
With method = "covariance"
and robust = TRUE
, the effects are
estimated based on a Huber M-estimator of location and scatter. Note that
this covariance-based approach is less robust than the approach based on
robust MM-regressions described above.
Alfons, A., Ates, N.Y. and Groenen, P.J.F. (2018) A robust bootstrap test for mediation analysis. ERIM Report Series in Management, Erasmus Research Institute of Management. URL https://hdl.handle.net/1765/109594.
Yuan, Y. and MacKinnon, D.P. (2014) Robust mediation analysis based on median regression. Psychological Methods, 19(1), 1--20.
Zu, J. and Yuan, K.-H. (2010) Local influence and robust procedures for mediation analysis. Multivariate Behavioral Research, 45(1), 1--44.
# NOT RUN {
data("BSG2014")
# to reproduce results in paper
RNGversion("3.5.3")
seed <- 20150601
# formula interface
set.seed(seed)
fit1 <- fit_mediation(TeamCommitment ~ m(TaskConflict) + ValueDiversity,
BSG2014)
test1 <- test_mediation(fit1)
summary(test1)
# default method
set.seed(seed)
fit2 <- fit_mediation(BSG2014,
x = "ValueDiversity",
y = "TeamCommitment",
m = "TaskConflict")
test2 <- test_mediation(fit2)
summary(test2)
# }
Run the code above in your browser using DataLab