print.EFA()
: Added arguments cutoff
,
digits
and max_name_length
that are passed to
print.LOADINGS()
.print.LOADINGS()
: New Argument
max_name_length
to control the maximum length of the
displayed variable names (names longer than this will be cut on the
right side). Previously, this was fixed to 10 (which is now the
default)..gof()
) that threw
an error when using R-devel on x86_64 Fedora 36 Linux with alternative
BLAS/LAPACK.dontrun
to examples of EFA_AVERAGE()
and its print and plot methods as these were causing issues on R-oldrel
which were not directly related to EFAtools and thus could not be fixed
from within the package..gof()
: Changed the helper function to take care of the
MKL issue when using R-devel on x86_64 Fedora 34 Linux with alternative
BLAS/LAPACK..is_cormat()
: Changed the helper function to better
detect 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 is
underidentified. This allows the Schmid-Leiman transformation to be
performed on a two-factor solution.OMEGA()
: Added calculation of additional indices of
interpretive relevance (H index, explained common variance [ECV], and
percent of uncontaminated correlations [PUC]). This is optional and can
be avoided by setting add_ind = FALSE
.CD()
: Added na.omit()
to remove missing
values from raw data to avoid an error in the comparison-data
procedure.EFA()
:
type = "SPSS"
was used with
method = "ML"
or method = "ULS"
, or with a
rotation other than none
, varimax
or
promax
.type = "SPSS"
is used.type = "psych"
is used, by calling
psych::smc()
.varimax_type = "kaiser"
if
type = "EFAtools"
is used with varimax
or
promax
.EFA_AVERAGE()
:
future.seed = TRUE
to call to
future.apply::future_lapply()
to prevent warnings.print.EFA()
: Fixed test for Heywood cases from testing
whether a communality or loading is greater than .998, to only test
whether communalities exceed 1 + .Machine$double.epsOMEGA()
: Small bugfix when lavaan
second-order model is given as inputEFA_AVERAGE()
to readme and the
EFAtools vignetteOMEGA
functionEFA_AVERAGE()
and respective print and
plot methods, to allow running many EFAs across different
implementations to obtain an average solution and test the stability of
the results.EFA()
: Defaults that were previously set to
NULL
are now mostly set to NA
. This was
necessary for EFA_AVERAGE()
to work correctly.PARALLEL()
: Rewrote the generation of random data based
eigenvalues to be more stable when SMCs are used.OMEGA()
: Changed expected input for argument
factor_corres
from vector to matrix. Can now be a logical
matrix or a numeric matrix with 0’s and 1’s of the same dimensions as
the matrix of group factor loadings. This is more flexible and allows
for cross-loadings.psych
and SPSS
EFA
solutions with EFAtools
.FACTOR_SCORES()
to calculate factor
scores from a solution from EFA()
. This is just a wrapper
for the psych::factor.scores
function.SCREE()
that does a scree plot. Also
added 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 the
procedure.EFA()
:
varimax_type = "svd"
), with type SPSS, the reproduced SPSS
varimax implementation is used
(varimax_type = "kaiser"
).kaiser
argument (controls if a Kaiser
normalization is done or not) into normalize
to avoid
confusion with the varimax_type
argument
specifications.ML()
: Changed default start method to “psych”.N_FACTORS()
:
criteria
argument.OMEGA()
: Now also works with a lavaan second-order
solution as input. In this case, it does a Schmid-Leiman transformation
based on the first- and second-order loadings first and computes omegas
based on this Schmid-Leiman solution.SL()
: Now also works with a lavaan second-order
solution as input (first- and second-order loadings taken directly from
lavaan output)..get_compare_matrix()
: Fixed a bug that occurred when
names of data were longer than n_charCOMPARE()
: Fixed a bug that occurred when using
reorder = "names"
.EFA()
: RMSEA is now set to 1 if it is > 1.HULL()
: Fixed a bug that occurred when no factors are
located on the HULLKMO()
: Fixed a bug that the inverse of the correlation
matrix was not taken anew after smoothing was necessary.PARALLEL()
:
decision_rule = "percentile"
print.COMPARE()
: Fixed a bug that occurred when using
print_diff = FALSE
in COMPARE()
.print.KMO()
: Fixed a bug that printed two statements
instead of one, when the KMO value was < .6.OMEGA()
and SL()
: Added an error message
if the entered term in g_name
is invalid (i.e., it cannnot
be found among the factor names of the entered lavaan solution).PARALLEL()
if no solution has
been found after 25 tries.Updated different tests
Deleted no longer used packages from Imports and Suggests in DESCRIPTION
PARALLEL()
: fixed a bug in indexing if method
"EFA"
was used.
NEWS.md
file to track changes to the
package.