## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) run_mplus <- FALSE ## ----setup, echo = FALSE, message = FALSE------------------------------------- library(tidySEM) library(lavaan) library(dplyr) ## ----------------------------------------------------------------------------- df <- HolzingerSwineford1939 names(df) ## ----------------------------------------------------------------------------- names(df)[grepl("^x", names(df))] <- c("vis_1", "vis_2", "vis_3", "tex_1", "tex_2", "tex_3", "spe_1", "spe_2", "spe_3") ## ----------------------------------------------------------------------------- model <- tidy_sem(df) model ## ----eval = FALSE, echo = TRUE------------------------------------------------ # model |> # measurement() -> model # model ## ----echo = FALSE, eval = TRUE------------------------------------------------ model <- measurement(model) model ## ----eval = FALSE, echo = TRUE------------------------------------------------ # model |> # estimate_lavaan() ## ----echo = FALSE, eval = TRUE------------------------------------------------ estimate_lavaan(model) ## ----include=FALSE, eval = requireNamespace("OpenMx", quietly = TRUE)--------- estimate_mx(model) -> res_mx ## ----echo = TRUE, eval = FALSE------------------------------------------------ # model |> # estimate_mx() ## ----echo = FALSE, eval = run_mplus, message=FALSE, warning=FALSE------------- # library(MplusAutomation) # model |> # estimate_mplus() -> res # #dput(capture.output(summary(res))) ## ----eval = FALSE, echo = TRUE------------------------------------------------ # library(MplusAutomation) # model |> # estimate_mplus() ## ----eval = FALSE, echo = FALSE----------------------------------------------- # # Display the results # cat(c("Estimated using ML ", "Number of obs: 301, number of (free) parameters: 30 ", # "", "Model: Chi2(df = 24) = 85.306, p = 0 ", "Baseline model: Chi2(df = 36) = 918.852, p = 0 ", # "", "Fit Indices: ", "", "CFI = 0.931, TLI = 0.896, SRMR = 0.06 ", # "RMSEA = 0.092, 90% CI [0.071, 0.114], p < .05 = 0.001 ", "AIC = 7535.49, BIC = 7646.703 " # ), sep = "\n") ## ----------------------------------------------------------------------------- dictionary(model) ## ----------------------------------------------------------------------------- syntax(model) ## ----eval = FALSE, echo = TRUE------------------------------------------------ # dictionary(model) |> # mutate(label = ifelse(label == "vis", "Visual", label)) ## ----echo = FALSE, eval = TRUE------------------------------------------------ tmp <- dictionary(model) mutate(tmp, label = ifelse(label == "vis", "Visual", label)) ## ----echo = TRUE, eval = FALSE------------------------------------------------ # syntax(model) |> # mutate(lhs = ifelse(lhs == "spe" & op == "=~", "tex", lhs)) |> # filter(!(lhs == "spe" | rhs == "spe")) -> syntax(model) ## ----eval = TRUE, echo = FALSE------------------------------------------------ tmp <- syntax(model) tmp <- mutate(tmp, lhs = ifelse(lhs == "spe" & op == "=~", "tex", lhs)) tmp <- filter(tmp, !(lhs == "spe" | rhs == "spe")) syntax(model) <- tmp ## ----echo = TRUE, eval = FALSE------------------------------------------------ # syntax(model) |> # mutate(free = ifelse(rhs == "spe_1", 1, free), # ustart = ifelse(rhs == "spe_1", NA, ustart)) -> syntax(model) ## ----eval = TRUE, echo = FALSE------------------------------------------------ syntax(model) |> mutate(free = ifelse(rhs == "spe_1", 1, free), ustart = ifelse(rhs == "spe_1", NA, ustart)) -> syntax(model) ## ----------------------------------------------------------------------------- estimate_lavaan(model) ## ----echo = TRUE, eval = FALSE------------------------------------------------ # model |> # add_paths("vis ~ tex") |> # estimate_lavaan() |> # summary(estimates = TRUE) ## ----eval = TRUE, echo = FALSE------------------------------------------------ tmp <- add_paths(model, "vis ~ tex") tmp <- estimate_lavaan(tmp) summary(tmp, estimates = TRUE) ## ----echo = TRUE, eval = FALSE------------------------------------------------ # model |> # add_paths("vis ~ tex", vis =~ spe_1) |> # estimate_lavaan() ## ----eval = TRUE, echo = FALSE------------------------------------------------ tmp <- add_paths(model, "vis ~ tex", vis =~ spe_1) estimate_lavaan(tmp)