Exploratory factor analysis on multiple data imputations
Source:R/EFAtools-superseded.R
EFA_POOLED.RdEFA_POOLED() has been superseded by efa_mi(), which is the recommended
interface going forward. It remains available and unchanged so existing code
keeps working.
Arguments
- data_list
A list of length \(m\), where \(m\) is the number of imputations. Each list element is a data frame or matrix of raw data, or a correlation matrix. See argument
xinefa_fit(). Amidsobject from mice must be converted first, withmice::complete(x, "all").- p
Numeric in \((0, 1)\). One minus the confidence level for the pooled confidence intervals, whichever
semethod produced them ("information","np-boot", or"sandwich"). For example,p = .05gives 95% intervals.- target_method
Character. How rotated solutions are aligned across imputations before pooling:
"first_target"(the default) aligns every imputation to the first imputation's rotated solution, while"consensus"refines a centroid target by Generalized Procrustes Analysis, started from the medoid imputation so that the pooled rotated solution does not depend on the order ofdata_list(orthogonal rotations only). See Aligning solutions across imputations in Details.- align_unrotated
Character. How unrotated loadings are aligned before pooling:
"signed_tucker_congruence"(the default; sign/permutation via Tucker congruence, anchored on the medoid imputation and returned in the extraction's canonical gauge),"procrustes"(orthogonal Procrustes to the first imputation), or"none". See Aligning solutions across imputations in Details.- fit_pool_method
Character. Only
"D2"is implemented for pooling chi-square-type fit. If no chi-square is available, only residual-based fit and descriptive quantities are returned. See Pooling the model chi-square and fit indices in Details.- consensus_args
List of additional arguments controlling the GPA-consensus iteration when
target_method = "consensus". Recognised tuning parameters include the convergence tolerancestolandloss_tol, the iteration boundsmin_iterandmax_iter, the target-update dampingalpha, the multi-start controlsmulti_startandstarts, andstart, which overrides the medoid imputation the iteration is otherwise started from.- procrustes_args
List of
efa_procrustes()algorithm controls for fixed-target alignment, for exampleoblique_maxitoroblique_random_starts. The loadingsA, the alignmentTarget, therotationfamily, and the cross-productSare derived from the imputations and cannot be set here.- rmsea_ci_level
Numeric. Confidence level for the RMSEA CI.
- rmsr_upper
Deprecated and ignored.
efa_mi()now always computes RMSR the same way, from the unique off-diagonal residuals; SRMR is reported alongside it. Supplying it toefa_mi()signals a deprecation warning; the supersededEFA_POOLED()accepts it silently.- ...
Additional arguments passed to
efa_fit()(e.g.estimator,rotation,se,n_factors,N). These select the estimator, rotation, standard-error method, and fit indices used for every imputation; seeefa_fit()for the available options, their properties, and which combinations are valid. Two of them shape the pooled object rather than a single fit:seedsets the random state once for the wholeefa_mi()call – every component bootstrap and every random-start rotation draws from it, so a seeded call is reproducible as a whole, and the caller's random stream is restored afterwards – andb_bootsets the number of bootstrap replicates drawn per imputation underse = "np-boot", which is what the pooled within-imputation variances are estimated from and is recorded insettings$b_boot. Theestimate_control()androtate_control()objects are accepted through...as well, although they are not declared formals: pass them asestimate_control =/rotate_control =exactly as you would toefa_fit().
Value
The value of efa_mi(), normally a list of class
c("efa_mi", "EFA_POOLED", "efa", "EFA"); see there for the components.