paf_efatools <- .PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
max_iter = NA, type = "EFAtools", init_comm = NA,
criterion = NA, criterion_type = NA, abs_eigen = NA)
paf_psych <- .PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
max_iter = NA, type = "psych", init_comm = NA,
criterion = NA, criterion_type = NA, abs_eigen = NA)
paf_spss <- .PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
max_iter = NA, type = "SPSS", init_comm = NA,
criterion = NA, criterion_type = NA, abs_eigen = NA)
paf_none <- .PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
max_iter = 500, type = "none", init_comm = "unity",
criterion = 1e-4, criterion_type = "sum", abs_eigen = TRUE)
paf_mac_t <- .PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
max_iter = 500, type = "none", init_comm = "mac",
criterion = 1e-4, criterion_type = "max_individual", abs_eigen = TRUE)
paf_mac_f <- .PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
max_iter = 500, type = "none", init_comm = "mac",
criterion = 1e-4, criterion_type = "max_individual",
abs_eigen = FALSE)
paf_F1_t <- .PAF(test_models$baseline$cormat, n_factors = 1, N = 500,
max_iter = 500, type = "none", init_comm = "mac",
criterion = 1e-4, criterion_type = "max_individual", abs_eigen = TRUE)
paf_F1_f <- .PAF(test_models$baseline$cormat, n_factors = 1, N = 500,
max_iter = 500, type = "none", init_comm = "mac",
criterion = 1e-4, criterion_type = "max_individual", abs_eigen = FALSE)
test_that("output class and dimensions are correct", {
expect_is(paf_efatools$unrot_loadings, "LOADINGS")
expect_is(paf_psych$unrot_loadings, "LOADINGS")
expect_is(paf_spss$unrot_loadings, "LOADINGS")
expect_is(paf_none$unrot_loadings, "LOADINGS")
expect_is(paf_mac_t$unrot_loadings, "LOADINGS")
expect_is(paf_mac_f$unrot_loadings, "LOADINGS")
expect_is(paf_F1_t$unrot_loadings, "LOADINGS")
expect_is(paf_F1_f$unrot_loadings, "LOADINGS")
expect_output(str(paf_efatools), "List of 12")
expect_output(str(paf_psych), "List of 12")
expect_output(str(paf_spss), "List of 12")
expect_output(str(paf_none), "List of 12")
expect_output(str(paf_mac_t), "List of 12")
expect_output(str(paf_mac_f), "List of 12")
expect_output(str(paf_F1_t), "List of 12")
expect_output(str(paf_F1_f), "List of 12")
})
test_that("original correlation matrix and eigenvalues are correct", {
expect_equal(paf_efatools$orig_R, test_models$baseline$cormat)
expect_equal(paf_psych$orig_R, test_models$baseline$cormat)
expect_equal(paf_spss$orig_R, test_models$baseline$cormat)
expect_equal(paf_none$orig_R, test_models$baseline$cormat)
expect_equal(paf_mac_t$orig_R, test_models$baseline$cormat)
expect_equal(paf_mac_f$orig_R, test_models$baseline$cormat)
expect_equal(paf_F1_t$orig_R, test_models$baseline$cormat)
expect_equal(paf_F1_f$orig_R, test_models$baseline$cormat)
expect_equal(sum(paf_efatools$orig_eigen), ncol(test_models$baseline$cormat))
expect_equal(sum(paf_psych$orig_eigen), ncol(test_models$baseline$cormat))
expect_equal(sum(paf_spss$orig_eigen), ncol(test_models$baseline$cormat))
expect_equal(sum(paf_none$orig_eigen), ncol(test_models$baseline$cormat))
expect_equal(sum(paf_mac_t$orig_eigen), ncol(test_models$baseline$cormat))
expect_equal(sum(paf_mac_f$orig_eigen), ncol(test_models$baseline$cormat))
expect_equal(sum(paf_F1_t$orig_eigen), ncol(test_models$baseline$cormat))
expect_equal(sum(paf_F1_f$orig_eigen), ncol(test_models$baseline$cormat))
expect_lt(sum(paf_efatools$init_eigen), ncol(test_models$baseline$cormat))
expect_lt(sum(paf_psych$init_eigen), ncol(test_models$baseline$cormat))
expect_lt(sum(paf_spss$init_eigen), ncol(test_models$baseline$cormat))
expect_equal(sum(paf_none$orig_eigen), ncol(test_models$baseline$cormat))
expect_equal(sum(paf_mac_t$orig_eigen), ncol(test_models$baseline$cormat))
expect_equal(sum(paf_mac_f$orig_eigen), ncol(test_models$baseline$cormat))
expect_equal(sum(paf_F1_t$orig_eigen), ncol(test_models$baseline$cormat))
expect_equal(sum(paf_F1_f$orig_eigen), ncol(test_models$baseline$cormat))
expect_lt(sum(paf_efatools$final_eigen), ncol(test_models$baseline$cormat))
expect_lt(sum(paf_psych$final_eigen), ncol(test_models$baseline$cormat))
expect_lt(sum(paf_spss$final_eigen), ncol(test_models$baseline$cormat))
expect_lt(sum(paf_none$final_eigen), ncol(test_models$baseline$cormat))
expect_lt(sum(paf_mac_t$final_eigen), ncol(test_models$baseline$cormat))
expect_lt(sum(paf_mac_f$final_eigen), ncol(test_models$baseline$cormat))
expect_lt(sum(paf_F1_t$final_eigen), ncol(test_models$baseline$cormat))
expect_lt(sum(paf_F1_f$final_eigen), ncol(test_models$baseline$cormat))
})
test_that("fit indices are returned correctly", {
expect_output(str(paf_efatools$fit_indices), "List of 14")
expect_output(str(paf_psych$fit_indices), "List of 14")
expect_output(str(paf_spss$fit_indices), "List of 14")
expect_output(str(paf_none$fit_indices), "List of 14")
expect_output(str(paf_mac_t$fit_indices), "List of 14")
expect_output(str(paf_mac_f$fit_indices), "List of 14")
expect_output(str(paf_F1_t$fit_indices), "List of 14")
expect_output(str(paf_F1_f$fit_indices), "List of 14")
expect_equal(paf_efatools$fit_indices[c("chi", "p_chi", "CFI", "RMSEA",
"RMSEA_LB", "RMSEA_UB", "AIC", "BIC",
"Fm", "chi_null", "df_null", "p_null")],
list(chi = NA, p_chi = NA, CFI = NA, RMSEA = NA, RMSEA_LB = NA,
RMSEA_UB = NA, AIC = NA, BIC = NA, Fm = NA, chi_null = NA,
df_null = NA, p_null = NA))
expect_equal(paf_psych$fit_indices[c("chi", "p_chi", "CFI", "RMSEA",
"RMSEA_LB", "RMSEA_UB", "AIC", "BIC",
"Fm", "chi_null", "df_null", "p_null")],
list(chi = NA, p_chi = NA, CFI = NA, RMSEA = NA, RMSEA_LB = NA,
RMSEA_UB = NA, AIC = NA, BIC = NA, Fm = NA, chi_null = NA,
df_null = NA, p_null = NA))
expect_equal(paf_spss$fit_indices[c("chi", "p_chi", "CFI", "RMSEA",
"RMSEA_LB", "RMSEA_UB", "AIC", "BIC",
"Fm", "chi_null", "df_null", "p_null")],
list(chi = NA, p_chi = NA, CFI = NA, RMSEA = NA, RMSEA_LB = NA,
RMSEA_UB = NA, AIC = NA, BIC = NA, Fm = NA, chi_null = NA,
df_null = NA, p_null = NA))
expect_equal(paf_none$fit_indices[c("chi", "p_chi", "CFI", "RMSEA",
"RMSEA_LB", "RMSEA_UB", "AIC", "BIC",
"Fm", "chi_null", "df_null", "p_null")],
list(chi = NA, p_chi = NA, CFI = NA, RMSEA = NA, RMSEA_LB = NA,
RMSEA_UB = NA, AIC = NA, BIC = NA, Fm = NA, chi_null = NA,
df_null = NA, p_null = NA))
expect_equal(paf_mac_t$fit_indices[c("chi", "p_chi", "CFI", "RMSEA",
"RMSEA_LB", "RMSEA_UB", "AIC", "BIC",
"Fm", "chi_null", "df_null", "p_null")],
list(chi = NA, p_chi = NA, CFI = NA, RMSEA = NA, RMSEA_LB = NA,
RMSEA_UB = NA, AIC = NA, BIC = NA, Fm = NA, chi_null = NA,
df_null = NA, p_null = NA))
expect_equal(paf_mac_f$fit_indices[c("chi", "p_chi", "CFI", "RMSEA",
"RMSEA_LB", "RMSEA_UB", "AIC", "BIC",
"Fm", "chi_null", "df_null", "p_null")],
list(chi = NA, p_chi = NA, CFI = NA, RMSEA = NA, RMSEA_LB = NA,
RMSEA_UB = NA, AIC = NA, BIC = NA, Fm = NA, chi_null = NA,
df_null = NA, p_null = NA))
expect_equal(paf_F1_t$fit_indices[c("chi", "p_chi", "CFI", "RMSEA",
"RMSEA_LB", "RMSEA_UB", "AIC", "BIC",
"Fm", "chi_null", "df_null", "p_null")],
list(chi = NA, p_chi = NA, CFI = NA, RMSEA = NA, RMSEA_LB = NA,
RMSEA_UB = NA, AIC = NA, BIC = NA, Fm = NA, chi_null = NA,
df_null = NA, p_null = NA))
expect_equal(paf_F1_f$fit_indices[c("chi", "p_chi", "CFI", "RMSEA",
"RMSEA_LB", "RMSEA_UB", "AIC", "BIC",
"Fm", "chi_null", "df_null", "p_null")],
list(chi = NA, p_chi = NA, CFI = NA, RMSEA = NA, RMSEA_LB = NA,
RMSEA_UB = NA, AIC = NA, BIC = NA, Fm = NA, chi_null = NA,
df_null = NA, p_null = NA))
expect_is(paf_efatools$fit_indices$df, "numeric")
expect_is(paf_psych$fit_indices$df, "numeric")
expect_is(paf_spss$fit_indices$df, "numeric")
expect_is(paf_none$fit_indices$df, "numeric")
expect_is(paf_mac_t$fit_indices$df, "numeric")
expect_is(paf_mac_f$fit_indices$df, "numeric")
expect_is(paf_F1_t$fit_indices$df, "numeric")
expect_is(paf_F1_f$fit_indices$df, "numeric")
expect_is(paf_efatools$fit_indices$CAF, "numeric")
expect_is(paf_psych$fit_indices$CAF, "numeric")
expect_is(paf_spss$fit_indices$CAF, "numeric")
expect_is(paf_none$fit_indices$CAF, "numeric")
expect_is(paf_mac_t$fit_indices$CAF, "numeric")
expect_is(paf_mac_f$fit_indices$CAF, "numeric")
expect_is(paf_F1_t$fit_indices$CAF, "numeric")
expect_is(paf_F1_f$fit_indices$CAF, "numeric")
})
test_that("settings are returned correctly", {
expect_named(paf_efatools$settings, c("max_iter", "init_comm", "criterion",
"criterion_type", "abs_eigen"))
expect_named(paf_psych$settings, c("max_iter", "init_comm", "criterion",
"criterion_type", "abs_eigen"))
expect_named(paf_spss$settings, c("max_iter", "init_comm", "criterion",
"criterion_type", "abs_eigen"))
expect_named(paf_none$settings, c("max_iter", "init_comm", "criterion",
"criterion_type", "abs_eigen"))
expect_named(paf_mac_t$settings, c("max_iter", "init_comm", "criterion",
"criterion_type", "abs_eigen"))
expect_named(paf_mac_f$settings, c("max_iter", "init_comm", "criterion",
"criterion_type", "abs_eigen"))
expect_named(paf_F1_t$settings, c("max_iter", "init_comm", "criterion",
"criterion_type", "abs_eigen"))
expect_named(paf_F1_f$settings, c("max_iter", "init_comm", "criterion",
"criterion_type", "abs_eigen"))
expect_equal(paf_efatools$settings$max_iter, 300)
expect_equal(paf_psych$settings$max_iter, 50)
expect_equal(paf_spss$settings$max_iter, 25)
expect_equal(paf_none$settings$max_iter, 500)
expect_equal(paf_mac_t$settings$max_iter, 500)
expect_equal(paf_mac_f$settings$max_iter, 500)
expect_equal(paf_F1_t$settings$max_iter, 500)
expect_equal(paf_F1_f$settings$max_iter, 500)
expect_equal(paf_efatools$settings$init_comm, "smc")
expect_equal(paf_psych$settings$init_comm, "smc")
expect_equal(paf_spss$settings$init_comm, "smc")
expect_equal(paf_none$settings$init_comm, "unity")
expect_equal(paf_mac_t$settings$init_comm, "mac")
expect_equal(paf_mac_f$settings$init_comm, "mac")
expect_equal(paf_F1_t$settings$init_comm, "mac")
expect_equal(paf_F1_f$settings$init_comm, "mac")
expect_equal(paf_efatools$settings$criterion, 0.001)
expect_equal(paf_psych$settings$criterion, 0.001)
expect_equal(paf_spss$settings$criterion, 0.001)
expect_equal(paf_none$settings$criterion, 1e-4)
expect_equal(paf_mac_t$settings$criterion, 1e-4)
expect_equal(paf_mac_f$settings$criterion, 1e-4)
expect_equal(paf_F1_t$settings$criterion, 1e-4)
expect_equal(paf_F1_f$settings$criterion, 1e-4)
expect_equal(paf_efatools$settings$criterion_type, "sum")
expect_equal(paf_psych$settings$criterion_type, "sum")
expect_equal(paf_spss$settings$criterion_type, "max_individual")
expect_equal(paf_none$settings$criterion_type, "sum")
expect_equal(paf_mac_t$settings$criterion_type, "max_individual")
expect_equal(paf_mac_f$settings$criterion_type, "max_individual")
expect_equal(paf_F1_t$settings$criterion_type, "max_individual")
expect_equal(paf_F1_f$settings$criterion_type, "max_individual")
expect_equal(paf_efatools$settings$abs_eigen, TRUE)
expect_equal(paf_psych$settings$abs_eigen, FALSE)
expect_equal(paf_spss$settings$abs_eigen, TRUE)
expect_equal(paf_none$settings$abs_eigen, TRUE)
expect_equal(paf_mac_t$settings$abs_eigen, TRUE)
expect_equal(paf_mac_f$settings$abs_eigen, FALSE)
expect_equal(paf_F1_t$settings$abs_eigen, TRUE)
expect_equal(paf_F1_f$settings$abs_eigen, FALSE)
})
test_that("warnings and errors are thrown correctly", {
expect_error(.PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
max_iter = 500, type = "none", init_comm = "unity",
criterion = 1e-4, criterion_type = "sum"), ' One of "init_comm", "criterion", "criterion_type", "abs_eigen", "max_iter" was NA and no valid "type" was specified. Either use one of "EFAtools", "psych", or "SPSS" for type, or specify all other arguments\n')
expect_warning(.PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
type = "EFAtools", init_comm = "smc"), " Type and init_comm is specified. init_comm is used with value ' smc '. Results may differ from the specified type\n")
expect_warning(.PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
type = "EFAtools", criterion = 0.001), " Type and criterion is specified. criterion is used with value ' 0.001 '. Results may differ from the specified type\n")
expect_warning(.PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
type = "EFAtools", criterion_type = "sum"), " Type and criterion_type is specified. criterion_type is used with value ' sum '. Results may differ from the specified type\n")
expect_warning(.PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
type = "EFAtools", max_iter = 400), " Type and max_iter is specified. max_iter is used with value ' 400 '. Results may differ from the specified type\n")
expect_warning(.PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
type = "EFAtools", abs_eigen = TRUE), " Type and abs_eigen is specified. abs_eigen is used with value ' TRUE '. Results may differ from the specified type\n")
expect_warning(.PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
type = "psych", init_comm = "smc"), " Type and init_comm is specified. init_comm is used with value ' smc '. Results may differ from the specified type\n")
expect_warning(.PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
type = "psych", criterion = 0.001), " Type and criterion is specified. criterion is used with value ' 0.001 '. Results may differ from the specified type\n")
expect_warning(.PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
type = "psych", criterion_type = "sum"), " Type and criterion_type is specified. criterion_type is used with value ' sum '. Results may differ from the specified type\n")
expect_warning(.PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
type = "psych", max_iter = 400), " Type and max_iter is specified. max_iter is used with value ' 400 '. Results may differ from the specified type\n")
expect_warning(.PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
type = "psych", abs_eigen = TRUE), " Type and abs_eigen is specified. abs_eigen is used with value ' TRUE '. Results may differ from the specified type\n")
expect_warning(.PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
type = "SPSS", init_comm = "smc"), " Type and init_comm is specified. init_comm is used with value ' smc '. Results may differ from the specified type\n")
expect_warning(.PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
type = "SPSS", criterion = 0.001), " Type and criterion is specified. criterion is used with value ' 0.001 '. Results may differ from the specified type\n")
expect_warning(.PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
type = "SPSS", criterion_type = "sum"), " Type and criterion_type is specified. criterion_type is used with value ' sum '. Results may differ from the specified type\n")
expect_warning(.PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
type = "SPSS", max_iter = 400), " Type and max_iter is specified. max_iter is used with value ' 400 '. Results may differ from the specified type\n")
expect_warning(.PAF(test_models$baseline$cormat, n_factors = 3, N = 500,
type = "SPSS", abs_eigen = TRUE), " Type and abs_eigen is specified. abs_eigen is used with value ' TRUE '. Results may differ from the specified type\n")
expect_error(.PAF(IDS2_R, n_factors = 7, N = 1991, max_iter = 500, type = "none",
init_comm = "smc", criterion = 1e-4, criterion_type = "sum",
abs_eigen = FALSE), "Negative Eigenvalues detected; cannot compute communality estimates. Try again with init_comm = 'unity' or 'mac'")
expect_error(.PAF(IDS2_R, n_factors = 7, N = 1991, max_iter = 500, type = "none",
init_comm = "smc", criterion = 1e-4,
criterion_type = "max_individual",
abs_eigen = FALSE), "Negative Eigenvalues detected; cannot compute communality estimates. Try again with init_comm = 'unity' or 'mac'")
})
rm(paf_efatools, paf_psych, paf_spss, paf_none, paf_mac_t, paf_mac_f, paf_F1_t,
paf_F1_f)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.