Skip to contents

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 package manymome.

pvalue

If bootstrap confidence intervals are stored, whether asymmetric p-values are reported. Default is FALSE. See manymome::print.indirect_list() for the computational details.

se

Whether standard errors are reported if confidence intervals are stored. Default is TRUE. See manymome::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.") replaces x by "I.V" and y 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 to indirect_raw. NOTE: Not used for now. Always FALSE.

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 to indirect_raw. NOTE: Not used for now. Always FALSE.

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 is TRUE.

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 is TRUE.

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 of pcut. 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 adding add_w = .2.

Value

A flextable object.

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.