EKC(): Now correctly returns the number of factorsbased on the first time the eigenvalues drop below the referencesvalues.NEST() to perform the Next Eigenvalue SufficiencyTest (Achim, 2017).EKC(): The implementation based on Auerswald andMoshagen (2019) used in previous versions differed from the originalimplementation by Braeken and van Assen (2017). Now both versions areimplemented and can be selected with the newtype argument.Thanks to Luis Eduardo Garrido for pointing this out and to JohanBraeken for sharing sample code, based on which the original version isnow implemented.N_FACTORS():ekc_type,alpha_nest, andn_datasets_nest to account for the changes inEKC() and to controlNEST().print.EFA():EFA(): Calculate and return model implied correlationmatrix..gof(): Changed some tests totake care of the ATLAS issue when using R-devel on x86_64 Fedora 34Linux with alternative BLAS/LAPACK.OMEGA() to accommodate changes in the upcomingversion ofpsych::schmid()print.EFA(): Added argumentscutoff,digits andmax_name_length that are passed toprint.LOADINGS().print.LOADINGS(): New Argumentmax_name_length to control the maximum length of thedisplayed variable names (names longer than this will be cut on theright side). Previously, this was fixed to 10 (which is now thedefault)..gof()) that threwan error when using R-devel on x86_64 Fedora 36 Linux with alternativeBLAS/LAPACK.dontrun to examples ofEFA_AVERAGE()and its print and plot methods as these were causing issues on R-oldrelwhich were not directly related to EFAtools and thus could not be fixedfrom within the package..gof(): Changed the helper function to take care of theMKL issue when using R-devel on x86_64 Fedora 34 Linux with alternativeBLAS/LAPACK..is_cormat(): Changed the helper function to betterdetect wheter a matrix is a correlation matrix.PARALLEL(): Added a check, testing whether N >n_vars and throw an error if this is not the case.EFA(): Changed error to warning when model isunderidentified. This allows the Schmid-Leiman transformation to beperformed on a two-factor solution.OMEGA(): Added calculation of additional indices ofinterpretive relevance (H index, explained common variance [ECV], andpercent of uncontaminated correlations [PUC]). This is optional and canbe avoided by settingadd_ind = FALSE.CD(): Addedna.omit() to remove missingvalues from raw data to avoid an error in the comparison-dataprocedure.EFA():type = "SPSS" was used withmethod = "ML" ormethod = "ULS", or with arotation other thannone,varimax orpromax.type = "SPSS" is used.type = "psych" is used, by callingpsych::smc().varimax_type = "kaiser" iftype = "EFAtools" is used withvarimax orpromax.EFA_AVERAGE():future.seed = TRUE to call tofuture.apply::future_lapply() to prevent warnings.print.EFA(): Fixed test for Heywood cases from testingwhether a communality or loading is greater than .998, to only testwhether communalities exceed 1 + .Machine$double.epsOMEGA(): Small bugfix whenlavaansecond-order model is given as inputEFA_AVERAGE() to readme and theEFAtools vignetteOMEGA functionEFA_AVERAGE() and respective print andplot methods, to allow running many EFAs across differentimplementations to obtain an average solution and test the stability ofthe results.EFA(): Defaults that were previously set toNULL are now mostly set toNA. This wasnecessary forEFA_AVERAGE() to work correctly.PARALLEL(): Rewrote the generation of random data basedeigenvalues to be more stable when SMCs are used.OMEGA(): Changed expected input for argumentfactor_corres from vector to matrix. Can now be a logicalmatrix or a numeric matrix with 0’s and 1’s of the same dimensions asthe matrix of group factor loadings. This is more flexible and allowsfor cross-loadings.psych andSPSS EFAsolutions withEFAtools.FACTOR_SCORES() to calculate factorscores from a solution fromEFA(). This is just a wrapperfor thepsych::factor.scores function.SCREE() that does a scree plot. Alsoadded respective print and plot methods.CD(): Added check for whether entered data is a tibble,and if so, convert to vanilla data.frame to avoid breaking theprocedure.EFA():varimax_type = "svd"), with type SPSS, the reproduced SPSSvarimax implementation is used(varimax_type = "kaiser").kaiser argument (controls if a Kaisernormalization is done or not) intonormalize to avoidconfusion with thevarimax_type argumentspecifications.ML(): Changed default start method to “psych”.N_FACTORS():criteria argument.OMEGA(): Now also works with a lavaan second-ordersolution as input. In this case, it does a Schmid-Leiman transformationbased on the first- and second-order loadings first and computes omegasbased on this Schmid-Leiman solution.SL(): Now also works with a lavaan second-ordersolution as input (first- and second-order loadings taken directly fromlavaan output)..get_compare_matrix(): Fixed a bug that occurred whennames of data were longer than n_charCOMPARE(): Fixed a bug that occurred when usingreorder = "names".EFA(): RMSEA is now set to 1 if it is > 1.HULL(): Fixed a bug that occurred when no factors arelocated on the HULLKMO(): Fixed a bug that the inverse of the correlationmatrix was not taken anew after smoothing was necessary.PARALLEL():decision_rule = "percentile"print.COMPARE(): Fixed a bug that occurred when usingprint_diff = FALSE inCOMPARE().print.KMO(): Fixed a bug that printed two statementsinstead of one, when the KMO value was < .6.OMEGA() andSL(): Added an error messageif the entered term ing_name is invalid (i.e., it cannnotbe found among the factor names of the entered lavaan solution).PARALLEL() if no solution hasbeen found after 25 tries.Updated different tests
Deleted no longer used packages from Imports and Suggests inDESCRIPTION
PARALLEL(): fixed a bug in indexing if method"EFA" was used.
NEWS.md file to track changes to thepackage.