Skip to contents

Formats and prints the SEM model syntax generated by GenerateModelCN, GenerateModelCP, GenerateModelP, and GenerateModelPC. It organizes the equations into labeled sections for better readability.

Usage

printGM(x, ...)

Arguments

x

A list or character string containing SEM model syntax. If x is a wsMed() result, it will extract and print the model syntax. If x is a GenerateModel*() result, it will format and print the model.

...

Additional arguments (not used).

Value

Invisibly returns the formatted SEM model syntax.

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