Nothing
library(testthat)
library(lavaan)
library(semfindr)
mod <-
'
f1 =~ x1 + x2 + x3
f2 =~ x4 + x5 + x6
f3 =~ x7 + x8 + x9
f3 ~ a * f1 + b * f2
ab := a * b
'
dat <- sem_dat
dat0 <- dat[1:50, ]
fit0 <- lavaan::sem(mod, dat0, meanstructure = TRUE)
fit0_15 <- lavaan::sem(mod, dat0[-15, ], meanstructure = TRUE)
rerun_out <- lavaan_rerun(fit0, parallel = FALSE)
rerun_15 <- rerun_out$rerun[[15]]
est0 <- lavaan::parameterEstimates(fit0, standardized = TRUE)
est0_15 <- lavaan::parameterEstimates(fit0_15, standardized = TRUE)
est_change_rerun_test1 <- est_change_raw(rerun_out,
c("~"))
est_change_rerun_test2 <- est_change_raw(rerun_out,
c("~~"))
est_change_rerun_test3 <- est_change_raw(rerun_out,
c("=~"))
est_change_rerun_test4 <- est_change_raw(rerun_out,
c(":="))
est_change_rerun_test5 <- est_change_raw(rerun_out,
c(":=", "~~"))
est_change_rerun_test6 <- est_change_raw(rerun_out,
c("f3 ~ f2", ":=", "~~"))
est_change_rerun_test7 <- est_change_raw(rerun_out,
c("~1"))
est_change_rerun_std_test1 <- est_change_raw(rerun_out,
c("~"), standardized = TRUE)
est_change_rerun_std_test2 <- est_change_raw(rerun_out,
c("~~"), standardized = TRUE)
est_change_rerun_std_test3 <- est_change_raw(rerun_out,
c("=~"), standardized = TRUE)
est_change_rerun_std_test4 <- est_change_raw(rerun_out,
c(":="), standardized = TRUE)
est_change_rerun_std_test5 <- est_change_raw(rerun_out,
c(":=", "~~"), standardized = TRUE)
est_change_rerun_std_test6 <- est_change_raw(rerun_out,
c("f3 ~ f2", ":=", "~~"), standardized = TRUE)
est_change_rerun_std_test7 <- est_change_raw(rerun_out,
c("~1"), standardized = TRUE)
parameters_names <- paste0(est0$lhs, est0$op, est0$rhs)
parameters_names[est0$op == ":="] <- est0[est0$op == ":=", "label"]
parameters_names_paths <- parameters_names[(est0$op == "~") & !is.na(est0$z)]
parameters_names_cov <- parameters_names[(est0$op == "~~") & !is.na(est0$z)]
parameters_names_loads <- parameters_names[(est0$op == "=~") & !is.na(est0$z)]
parameters_names_def <- parameters_names[(est0$op == ":=") & !is.na(est0$z)]
parameters_names_int <- parameters_names[(est0$op == "~1") & !is.na(est0$z)]
parameters_names_paths_std <- parameters_names[est0$op == "~"]
parameters_names_cov_std <- parameters_names[est0$op == "~~"]
parameters_names_loads_std <- parameters_names[est0$op == "=~"]
parameters_names_def_std <- parameters_names[est0$op == ":="]
parameters_names_int_std <- parameters_names[est0$op == "~1"]
test_that("Parameter selected by operators", {
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_test1)),
sort(parameters_names_paths)
)
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_test2)),
sort(parameters_names_cov)
)
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_test3)),
sort(parameters_names_loads)
)
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_test4)),
sort(parameters_names_def)
)
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_test5)),
sort(c(parameters_names_def,
parameters_names_cov))
)
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_test6)),
sort(c(parameters_names_def,
parameters_names_cov,
"f3~f2"))
)
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_test7)),
sort(parameters_names_int)
)
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_std_test1)),
sort(parameters_names_paths_std)
)
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_std_test2)),
sort(parameters_names_cov_std)
)
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_std_test3)),
sort(parameters_names_loads_std)
)
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_std_test4)),
sort(parameters_names_def_std)
)
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_std_test5)),
sort(c(parameters_names_def_std,
parameters_names_cov_std))
)
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_std_test6)),
sort(c(parameters_names_def_std,
parameters_names_cov_std,
"f3~f2"))
)
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_std_test7)),
sort(parameters_names_int_std)
)
})
# Parameters that are fixed but free in the standardized solution.
parameterEstimates(fit0, standardized = TRUE)
est_change_rerun_load_std <- est_change_raw(rerun_out,
c("=~"),
standardized = TRUE)
(est0_15$est_all <- est0$est)
(est0_15$est_cha <- est0_15$est_all - est0_15$est)
(est0_15$est_all_std <- est0$std.all)
(est0_15$est_std_cha <- est0_15$est_all_std - est0_15$std.all)
test_that("Check fixed parameters which is free in the standardized solution ", {
expect_equal(ignore_attr = TRUE,
sort(est_change_rerun_load_std[15, ]),
sort(est0_15$est_std_cha[est0_15$op == "=~"])
)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.