library(lavaan)
library(semPlot)
# Create a dummy dataset
mod_pa <-
"
m11 ~ x1
m21 ~ m11
m2 ~ m11
m22 ~ m11
y ~ m2 + m21 + m22 + x1
"
fit <- lavaan::sem(
mod_pa,
do.fit = FALSE
)
dat <- simulateData(
parameterTable(fit),
sample.nobs = 500,
seed = 1234
)
fit <- lavaan::sem(
mod_pa,
dat
)
# Set the layout
m <- auto_layout_mediation(
fit
)
p <- semPaths(
fit,
whatLabels = "est",
layout = m,
DoNotPlot = TRUE
) |>
safe_edge_label_position()
plot(p)
# Update the plot
p_safe <- p |> safe_resid_position()
plot(p_safe)
# Set the positon manually
pos_new <- safe_resid_position(p,
update_plot = FALSE)
pos_new
p_safe2 <- p |>
rotate_resid(pos_new)
plot(p_safe2)
Run the code above in your browser using DataLab