Nothing
library(testthat)
library(lavaan)
library(semfindr)
mod <-
'
iv1 ~~ iv2
m1 ~ iv1 + iv2
dv ~ m1
'
dat <- pa_dat
dat0 <- dat[1:50, ]
fit0 <- lavaan::sem(mod, dat0)
fit0_data <- lavInspect(fit0, "data")
colnames(fit0_data) <- lavNames(fit0)
head(fit0_data)
fit0_free <- lavInspect(fit0, "free")
i <- apply(fit0_free$beta, 1, function(x) all(x == 0))
exo_vars <- names(i)[i]
fit0_data_exo <- dat0[, exo_vars]
md_predictors_check <- mahalanobis(fit0_data_exo,
colMeans(fit0_data_exo),
cov(fit0_data_exo))
md_predictors_check <- md_predictors_check[c(1, 3, 9, 15, 50)]
rerun_out <- lavaan_rerun(fit0, to_rerun = c(1, 3, 9, 15, 50), parallel = FALSE)
md_predictors_rerun <- mahalanobis_predictors(rerun_out)
test_that("Compare Mahalanobis distances: lavaan_rerun", {
expect_equal(ignore_attr = TRUE,
as.vector(md_predictors_rerun),
md_predictors_check
)
})
# Test whether an error will a vector of NAs will be returned if
# the fit object does not have exogenous observed variables.
mod <-
'
f1 =~ x1 + x2 + x3
f2 =~ x4 + x5 + x6
'
dat <- cfa_dat
dat0 <- dat[1:50, ]
fit0 <- lavaan::sem(mod, dat0)
rerun_out <- lavaan_rerun(fit0, parallel = FALSE)
test_that("No exogenous observed variables", {
expect_warning(
md_predictors <- mahalanobis_predictors(fit0),
"The model has no exogenous observed variables."
)
expect_warning(
md_predictors_rerun <- mahalanobis_predictors(rerun_out),
"The model has no exogenous observed variables."
)
expect_true(all(is.na(md_predictors)))
expect_true(all(is.na(md_predictors_rerun)))
})
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.