as.data.frame
method
(as.data.frame.cond_indirect_effects()
) for
cond_indirect_effects
objects. The print
method (print.cond_indirect_effects()
) now calls this
method internally. (0.2.4.4)Though rare in real studies, merge_mod_levels()
was
revised to support merging wlevel
objects that have only
one level in each of them. (0.2.4.1)
When bootstrapping is done by lavaan
, only bootstrap
estimates with no errors will be kept (previously, they will be set to
NA
). This also makes the number of bootstrap samples
reported consistent with the number of successful bootstrap
replications. (0.2.4.2)
For functions such as cond_effects()
, if the model
has only one outcome variable (e.g., moderation only and has no
mediator), then the y
argument can be omitted.
(0.2.4.6)
lavaan
bootstrap estimates. (0.2.4.2)Corrected the help page of
indirect_effects_from_list()
. It works on an object of the
class indirect_list
, not of the class
cond_indirect_effects
. (0.2.4.3)
Updated the vignettes (0.2.4.5).
Updated the internal lavaan.mi
objects used for
tests. (0.2.4.7)
Add on.exit()
to ensure that the clusters created
will be cleared if a function is aborted (e.g., terminated by users).
(0.2.4.8)
Updated the way the expected CPU time for bootstrapping, and the
time is displayed only if progress
is FALSE
.
(0.2.4.9)
plot()
method of the output of
cond_indirect_effect()
now supports using
facet_grid()
to plot the conditional effects when there are
two or more moderators in a path. (0.2.3.3, 0.2.3.5, 0.2.3.6,
0.2.3.13)If all paths have the same x
variables, the argument
x
can be omitted when calling
total_indirect_effect()
. Similarly, if all paths have the
same y
variables, the argument y
can also be
omitted when calling total_indirect_effect()
.
(0.2.3.2)
If appropriate, most functions will automatically convert a
single model fitted by lm()
to a list by
lm2list()
. This allows users to use the output of
lm()
directly, such as when computing effects in a
moderation-only model. (0.2.3.4)
P-values and confidence intervals based on standard errors will now be computed even for direct paths not moderated. (0.2.3.8)
Added print_all_cond_indirect_effects()
and
print_all_cond_effects()
for printing the full output of
all conditional indirect effects. (0.2.3.9)
Updated the print
method of indirect effect to print
p-value and confidence interval computed from original standard
error when appropriate. (0.2.3.10)
Added for_each_path
argument to the
print
-method of indirect_list
objects. Setting
it to TRUE
to print each path in the output of
many_indirect_effects()
individually. (0.2.3.12)
Added wrap_computation
to the argument of
print.indirect()
to wrap the printout of long computational
formulas. Default set to TRUE
. (0.2.3.14)
Updated plot_effect_vs_w()
to check whether a
moderator is numeric. (0.2.3.15)
Updated print.cond_indirect_effects()
. Disabled the
printing of the (only) component path when a path has no mediator.
(0.2.3.16)
Corrected README
to remark that dichotomous
x
-variables are supported by most functions if coded as a
numeric dummy variable. (0.2.3.7)
Fix the wording in the printout of lm_list
objects.
(0.2.3.11)
merge_model_matrix()
in some special cases. (0.2.3.1)Added support for using model-based standard errors (and the
covariances) of estimates to compute the standard errors,
p-values, and confidence intervals for conditional effects.
This should be used only for effects without mediators and with both
x
- and y
-variables not standardized. The
standard errors, p-values, and confidence intervals are printed
by default when certain conditions are met. These statistics are for
models fitted by multiple regression. They should be used with cautions
for models fitted by structural equation modeling because the model may
not be invariant to linear transformation of variables if some
covariances involving the product terms are not freely estimated.
(0.2.2.1)
Updated pseudo_johnson_neyman()
to support the
SE-based test. The method is equivalent to the (true) Johnson-Neyman
when SE-based test is used. Added johnson_neyman()
as an
alias to pseudo_johnson_neyman()
. (0.2.2.4)
Added fill_wlevels()
to add levels of moderator to
an output of cond_indirect_effects()
, such that the
confidence band of a plot of effects against a moderator can be
smoother. (0.2.2.7)
mod_levels()
in some
special cases. (0.2.2.5)Fixed a minor typo in the example of
indirect_effect()
. (0.2.2.8)
Added cond_effects()
, an alias to
cond_indirect_effects()
. A better name when a path has no
mediator. (0.2.2.9)
Finalize 0.2.3. Kept only updates relevant to users of 0.2.2. (0.2.3)
boot_type = "bc"
in applicable funcion. BC confidence
interval is not recommended in some recent works (see Get
Started for selected references). It is added merely for research
purpose. (0.2.1.4)Try not setting the environment when calling
gen_boot_i_lavaan()
, which may not be necessary.
(0.2.1.2)
Factored out confidence interval computation into an internal function. (0.2.1.3)
lm2list()
now supports having only one regression
model as the input. This allows users to use functions such as
cond_indirect_effects()
on a model with only moderators.
(0.2.1.5)
do_boot()
for multigroup models when all
groups have exactly the same number of cases. (0.2.2.1)Support for mediation paths in multigroup models fitted by
lavaan
has been added. Demonstrations can be found in this
article
Many functions have been updated to work for multigroup models
with mediators fitted by lavaan
. Most common tasks support
multigroup models. For functions that support moderators, the group
variable will be used automatically as a moderator. Checks will be added
to functions not yet support multigroup models to alert users.
For paths moderated in multigroup models, only some functions
(e.g., cond_indirect_effect()
) are supported. However,
multigroup models with moderators are rare. Functions that do not yet
support multigroup models (e.g, mod_levels()
) will raise an
error if used on a multigroup model. Support may be added in the
future.
The +
and -
operators can now be used
on different paths because they may be paths in different groups in
multigroup models.
The plot
-method of
cond_indirect_effects
-class objects will be forced to be a
tumble graph if the lines for different groups are to be plotted. In
these cases, the data within each group will be used, including
standardization. This approach, though leading to results different from
those in single-group model using the group as a moderator, makes more
sense for multigroup models, in which the distribution of variables are
allowed to be different between groups. Since 0.1.14.10, by default, the
model implied statistics are used to determine the means and SDs used in
drawing the plot. This approach is useful when between-group equality
constraints are present.
The plot
-method of
cond_indirect_effects
-class objects now supports plotting a
path that involves latent variables. The model implied statistics will
always be used for the latent variables when determining the means and
SDs. This is useful because the group-variable can be treated as a
moderator by cond_indirect_effects()
. (0.1.14.7)
Added plot_effect_vs_w()
. It can plot an effect
(direct or indirect) against a moderator, using the output of
cond_indirect_effects()
. (0.1.14.14 - 0.1.14.15)
Added pseudo_johnson_neyman()
. It used the pseudo
Johnson-Neyman approach (Hayes, 2022) to find the value of a moderator
at which the conditional effect (direct or indirect) changes from
nonsignificant to significant (or vice versa), based on the confidence
interval selected. (0.1.14.16)
If a dataset has a variable which is a product of itself and
another variable (e.g., x*y == x
),
find_products()
will be trapped in an infinite loop. This
“product term” will no longer be treated as a “product term.”
(0.1.14.1)
Bootstrapping and Monte Carlo simulation will no longer be run
once for each path in many_indirect_effects()
. If
do_boot()
or do_mc()
is not used first but
bootstrapping or Monte Carlo confidence intervals are requested, this
process will be done only once, and the estimates will be reused by all
paths. (0.1.14.9, a bug fixed in 0.2.1)
scale_x
and scale_y
)
for each bootstrap or simulated sample are now stored, such that the
confidence interval of the unstandardized effect can be computed even if
standardization is requested. (0.1.13.2)indirect_raw
, though not used for now, is now computed
correctly when using +
and -
. (0.1.13.1)delta_med
-class object. (0.1.13.4)do_mc()
on a model which do not
have a mean structure, has latent variables, and is estimated by
multiple imputation. Error is no longer raised. (0.1.13.5)delta_med()
for computing \(\Delta_{Med}\) (Delta_Med), an \(R^2\)-like measure of indirect effect
proposed by Liu, Yuan, and Li (2023). Can form nonparametric bootstrap
confidence interval for \(\Delta_{Med}\). (0.1.12.1, 0.1.12.3)se = TRUE
). They are simply the standard
deviations of the bootstrap estimates (if bootstrap confidence intervals
are requested) or simulated estimates (if Monte Carlo confidence
intervals are requested). They should be interpreted with cautions
because the sampling distribution of the effect estimates may not be
symmetric. (0.1.11.2)Customized linters
. (0.1.11.1)
Revised a test to accommodate a behavior of MKL when
MASS::mvrnorm()
is used to generate pseudo random numbers.
(0.1.11.4)
Finalized to 0.1.12. (0.1.12)
P-value were not computed when mathematical operations
are conducted on effects using +
and -
before
version 0.1.11.2. This has been fixed. (0.1.11.2)
merge_model_matrix()
failed if all variables in an
lm()
output is already present in merged outputs. Fixed in
0.1.11.3. (0.1.11.3)
cond_indirect()
did not hide the progress when Monte
Carlo CIs were requested and do_mc()
was called internally.
Fixed. It now hides the progress if progress = TRUE
.
(0.1.11.5)
runMI()
or
sem.mi()
from the semTools
package using
multiple imputation. (0.1.9.8-0.1.9.10)indirect_proportion()
and two methods for its
output. (0.1.9.12)get_prod()
and added an
article on its workflow. (0.1.9.13).fixed.x
argument as
lavaan
does. (0.1.9.17)factor2var()
to work (again) for a categorical
variable with only two levels. (0.1.9.21)pkgdown
site. (0.1.9.2)pkgdown
site. (0.1.9.6)do_mc()
. (0.1.9.11)print.mc_out()
, the print-method for
mc_out
-class objects. (0.1.9.14)pkgdown
GitHub action for using newer version
of mermaid. (0.1.9.15)pkgdown
website to use the new logo and color
scheme. (0.1.9.16)lavaan
on handling random seed. (0.1.9.18)pkgdown
articles, accessible through the
pkgdown
website of the package. (0.1.9.19)lavaan.mi
-class objects. (0.1.9.20)lavaan
on handling random seed.lm2boot_out_parallel()
to do bootstrapping with
the output of lm()
using parallel processing. This is the
default when do_boot()
is used on the outputs of
lm()
. (0.1.4.4)do_boot()
.
(0.1.4.7)all_indirect_paths()
for identifying all indirect
paths in a model. (0.1.4.5)many_indirect_effects()
for computing indirect
effects for a list of paths. (0.1.4.5)total_indirect_effect()
for computing the total
indirect effect between two variables. (0.1.4.5)expect_equal
on
numbers rather than on characters. No change in the functions.
(0.1.4.3)merge_model_frame()
. (0.1.4.8)