Formats and prints the SEM model syntax generated by
GenerateModelCN, GenerateModelCP, GenerateModelP, and GenerateModelPC.
It organizes the equations into labeled sections for better readability.
Arguments
- x
A list or character string containing SEM model syntax. If
xis awsMed()result, it will extract and print the model syntax. Ifxis aGenerateModel*()result, it will format and print the model.- ...
Additional arguments (not used).
Examples
data(example_data)
head(example_data)
#> # A tibble: 6 × 14
#> A1 A2 A3 B1 B2 B3 C1 C2 C3 D1 D2 D3
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 0.520 0.348 0.0518 0.0935 0.254 0.502 0 0.240 0 0.702 0.485 0.314
#> 2 0.329 0.121 0.291 0.259 0.328 0.152 0.116 0 0.118 0 0.392 0.0133
#> 3 0.208 0.168 0.156 0.295 0.342 0.490 0.237 0.214 0.137 0.336 0.706 0.521
#> 4 0.565 0.175 0.401 0.622 0.450 0.536 0.285 0.395 0.143 0.532 0.437 0.290
#> 5 0.514 0.767 0.598 0.653 0.448 0.525 0.284 0.464 0.161 0.456 0.351 0.217
#> 6 0.763 0.567 0.803 0.766 0.716 0.554 0.260 0.313 0.177 0.813 0.666 1
#> # ℹ 2 more variables: Group <fct>, W_Group <fct>
prepared_data <- PrepareData(
data = example_data,
M_C1 = c("A1", "B1"),
M_C2 = c("A2", "B2"),
Y_C1 = "C1",
Y_C2 = "C2"
)
sem_model <- GenerateModelPC(prepared_data)
printGM(sem_model)
#>
#> Outcome Difference Model (Ydiff):
#> Ydiff ~ cp*1 + b1*M1diff + d1*M1avg + b2*M2diff + d2*M2avg
#>
#> Mediator Difference Model (Chained Mediator - M1diff):
#> M1diff ~ a1*1 + b_2_1*M2diff + d_2_1*M2avg
#>
#> Mediator Difference Model (Other Mediators):
#> M2diff ~ a2*1
#>
#> Indirect Effects:
#> indirect_1 := a1 * b1
#> indirect_2 := a2 * b2
#> indirect_2_1 := a2 * b_2_1 * b1
#>
#> Total Indirect Effect:
#> total_indirect := indirect_1 + indirect_2 + indirect_2_1
#>
#> Total Effect:
#> total_effect := cp + total_indirect