Convert an 'indirect_list' Object to a 'flextable' Object
Source:R/as_flextable.indirect_list.R
as_flextable.indirect_list.Rd
The 'as_flextable' method for the output of 'manymome::many_indirect_effects()'.
Usage
# S3 method for class 'indirect_list'
as_flextable(
x,
pvalue = FALSE,
se = TRUE,
var_labels = NULL,
digits = 2,
pval_digits = 3,
use_arrow = TRUE,
indirect_raw = TRUE,
indirect_raw_ci = indirect_raw,
indirect_raw_se = indirect_raw,
group_by_x = TRUE,
group_by_y = TRUE,
y_first = TRUE,
total_indirect = TRUE,
footnote = TRUE,
pcut = 0.001,
...
)
Arguments
- x
The object to be converted. Should be of the class
indirect_list
from the packagemanymome
.- pvalue
If bootstrap confidence intervals are stored, whether asymmetric p-values are reported. Default is
FALSE
. Seemanymome::print.indirect_list()
for the computational details.- se
Whether standard errors are reported if confidence intervals are stored. Default is
TRUE
. Seemanymome::print.indirect_list()
for the computation details.- var_labels
A named vectors. Used to replace variable names by other names when generating the table. For example,
c(x = "I.V", y = "D.V.")
replacesx
by"I.V"
andy
by"D.V."
in the output.- digits
The number of digits to be displayed for most numerical columns, such as effect estimates, standard errors, and confidence intervals. Default is 2.
- pval_digits
The number of digits to be displayed for the p-value column, if present. Default is 3.
- use_arrow
If
TRUE
, the default, use the arrow symbol in the paths.- indirect_raw
If
TRUE
, the default, report unstandardized effects even if standardization was done.- indirect_raw_ci
If
TRUE
, report the confidence intervals of unstandardized effects even if standardization was done and confidence intervals were stored. Default to be equal toindirect_raw
. NOTE: Not used for now. AlwaysFALSE
.- indirect_raw_se
If
TRUE
, report the standard errors of unstandardized effects even if standardization was done and confidence intervals were stored. Default to be equal toindirect_raw
. NOTE: Not used for now. AlwaysFALSE
.- group_by_x
If
TRUE
, the default, the rows will be grouped by x-variables if the paths have more than one x-variable. Default isTRUE
.- group_by_y
If
TRUE
, the default, the rows will be grouped by y-variables if the paths have more than one y-variable. Default isTRUE
.- y_first
If group by both x- and y-variables, group by y-variables first if
TRUE
, the default. Otherwise, group by x-variables.- total_indirect
If
TRUE
, the default, total indirect effect will be computed and added to the output.- footnote
If
TRUE
, the default, add footnote(s) regarding the results to the bottom of the table.- pcut
Any p-value less than
pcut
will be displayed as<[pcut]
,"[pcut]"
replaced by the value ofpcut
. Default is .001.- ...
Additional arguments. To be passed to
flextable::autofit()
in preparing the final table. For example, if some lines are too lone and wrapped, try addingadd_w = .2
.
Details
It converts an indirect_list
object,
which is usually created by
manymome::many_indirect_effects()
,
to a flextable
object. The output
can be further modified by functions
from the package flextable
.
Examples
library(flextable)
library(manymome)
data(data_med_complicated)
lm_m11 <- lm(m11 ~ x1 + x2, data_med_complicated)
lm_m2 <- lm(m2 ~ x1 + x2, data_med_complicated)
lm_y1 <- lm(y1 ~ m11 + m2 + x1 + x2, data_med_complicated)
fit <- lm2list(lm_m11, lm_m2, lm_y1)
# All indirect paths
paths <- all_indirect_paths(fit,
x = c("x1", "x2"),
y = c("y1"))
# Indirect paths from x1 to y1
paths_x1y1 <- all_indirect_paths(fit,
x = c("x1"),
y = c("y1"))
# Indirect effect estimates
ind <- many_indirect_effects(paths,
fit = fit)
ft_ind <- as_flextable(ind)
ft_ind
Predictor
Path
Effect
x1
x1 → m11 → y1
0.10
x1 → m2 → y1
0.00
x1 → .. → y1
0.10
x2
x2 → m11 → y1
-0.01
x2 → m2 → y1
-0.12
x2 → .. → y1
-0.13
Note: ; paths with '..' are total indirect effects.
ft_ind <- as_flextable(ind, group_by_x = FALSE)
ft_ind
Path
Effect
x1 → m11 → y1
0.10
x1 → m2 → y1
0.00
x2 → m11 → y1
-0.01
x2 → m2 → y1
-0.12
x1 → .. → y1
0.10
x2 → .. → y1
-0.13
Note: ; paths with '..' are total indirect effects.
ind_x1y1 <- many_indirect_effects(paths_x1y1,
fit = fit)
ft_ind_x1y1 <- as_flextable(ind_x1y1)
ft_ind_x1y1
Path
Effect
x1 → m11 → y1
0.10
x1 → m2 → y1
0.00
x1 → .. → y1
0.10
Note: ; paths with '..' are total indirect effects.
# Should set R to 5000 or 10000 in real research
boot_out_lm <- do_boot(fit,
R = 100,
seed = 54532,
parallel = FALSE,
progress = FALSE)
ind_x1y1_ci <- many_indirect_effects(paths_x1y1,
fit = fit,
boot_ci = TRUE,
boot_out = boot_out_lm)
ft_ind_x1y1_ci <- as_flextable(ind_x1y1_ci)
ft_ind_x1y1_ci
Path
Effect
95% CI
SE
x1 → m11 → y1
0.10
[0.01
, 0.17]
0.04
x1 → m2 → y1
0.00
[-0.06
, 0.09]
0.03
x1 → .. → y1
0.10
[-0.01
, 0.21]
0.05
Note: CI = confidence interval; paths with '..' are total indirect effects.