Nothing
library(testthat)
library(lavaan)
library(semfindr)
# An SEM model with latent factors
# Labelled: Some are labelled
# User-defined parameters: At least one
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:200, ]
set.seed(856041)
dat0$gp <- sample(c("gp2", "gp1"), size = nrow(dat0), replace = TRUE)
fit0 <- lavaan::sem(mod, dat0, meanstructure = TRUE,
group = "gp", group.equal = "loadings")
fit0_15 <- lavaan::sem(mod, dat0[-15, ], meanstructure = TRUE)
rerun_out <- lavaan_rerun(fit0, parallel = FALSE,
to_rerun = c(1:15))
rerun_15 <- rerun_out$rerun[[15]]
est0 <- lavaan::parameterEstimates(fit0, standardized = TRUE)
est_change_rerun_test1 <- est_change(rerun_out,
c("~"))
est_change_rerun_test2 <- est_change(rerun_out,
c("~~"))
est_change_rerun_test3 <- est_change(rerun_out,
c("=~"))
# est_change_rerun_test4 <- est_change(rerun_out,
# c(":="))
est_change_rerun_test5 <- est_change(rerun_out,
c("=~", "~~"))
est_change_rerun_test6 <- est_change(rerun_out,
c("f3 ~ f2", "=~", "~~"))
est_change_rerun_test7 <- est_change(rerun_out,
c("~1"))
# Address issue 87
est_change_rerun_test_87_1 <- est_change(rerun_out,
c("=~.g2", "~~"))
est_change_rerun_test_87_2 <- est_change(rerun_out,
c("~~.g2"))
est_change_rerun_test_87_3 <- est_change(rerun_out,
c("=~.g1", "~1", "f3 ~ f2.g2"))
parameters_names <- paste0(est0$lhs, est0$op, est0$rhs)
parameters_names[est0$group == 2] <- paste0(parameters_names[est0$group == 2], ".g2")
parameters_names_no_user_labels <- parameters_names
# Use label if available
tmp <- (est0$label != "") & !grepl(".p", est0$label)
parameters_names[tmp] <- est0$label[tmp]
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_87_1 <- c(parameters_names[(est0$op == "=~") &
!is.na(est0$z) &
est0$group == 2],
parameters_names[(est0$op == "~~") &
!is.na(est0$z)])
parameters_names_87_2 <- c(parameters_names[(est0$op == "~~") &
!is.na(est0$z) &
est0$group == 2])
parameters_names_87_3 <- c(parameters_names[(est0$op == "=~") &
!is.na(est0$z) &
est0$group == 1],
parameters_names[(est0$op == "~1") &
!is.na(est0$z)],
parameters_names[(est0$op == "~") &
(est0$lhs == "f3") &
(est0$rhs == "f2") &
est0$group == 2])
test_that("Parameter selected by operators", {
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_test1)),
sort(c("gcd", parameters_names_paths))
)
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_test2)),
sort(c("gcd", parameters_names_cov))
)
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_test3)),
sort(c("gcd", 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(c("gcd",
parameters_names_loads,
parameters_names_cov)))
)
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_test6)),
sort(c("gcd",
parameters_names_loads,
parameters_names_cov,
"b", "b"))
)
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_test7)),
sort(c("gcd", parameters_names_int))
)
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_test_87_1)),
sort(c("gcd", parameters_names_87_1))
)
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_test_87_2)),
sort(c("gcd", parameters_names_87_2))
)
expect_equal(ignore_attr = TRUE,
sort(colnames(est_change_rerun_test_87_3)),
sort(c("gcd", parameters_names_87_3))
)
})
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.