printGM()printGM() with WsMed()The WsMed() function returns a list containing
sem_model. printGM() can automatically extract
and format the model equations.
library(wsMed)
result1 <- wsMed(
data = example_data,
M_C1 = c("A1","B1","C1"),
M_C2 = c("A2","B2","C2"),
Y_C1 = "D1",
Y_C2 = "D2",
form = "P",
Na = "DE",
standardized = TRUE,
bootstrap = 1000,
iseed = 123
)
printGM(result1)##
## Outcome Difference Model (Ydiff):
## Ydiff ~ cp*1 + b1*M1diff + d1*M1avg + b2*M2diff + d2*M2avg + b3*M3diff + d3*M3avg
##
## Mediator Difference Model (Chained Mediator - M1diff):
## M1diff ~ a1*1
##
## Mediator Difference Model (Other Mediators):
## M2diff ~ a2*1
## M3diff ~ a3*1
##
## Indirect Effects:
## indirect_1 := a1 * b1
## indirect_2 := a2 * b2
## indirect_3 := a3 * b3
##
## Total Indirect Effect:
## total_indirect := indirect_1 + indirect_2 + indirect_3
##
## Total Effect:
## total_effect := cp + total_indirect
If you already have preprocessed data, you can directly generate the SEM model syntax using GenerateModelPC() or other GenerateModel*() functions.
# Load necessary packages
library(wsMed)
# Load example data
data(example_data)
# Prepare data
prepared_data <- PrepareData(
data = example_data,
M_C1 = c("A1", "B1"),
M_C2 = c("A2", "B2"),
Y_C1 = "C1",
Y_C2 = "C2"
)
# Generate Model
sem_model <- GenerateModelPC(prepared_data)
# print Model equations
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