Runs psych::fa() on selected item columns and returns loadings,
communalities, uniqueness, variance summaries, and simple item retention
flags. The psych package is optional and is only required when this
function is called.
Arguments
- data
A data.frame of responses.
- instrument
An
sframeobject.- items
Character vector of item IDs. When
NULL, scale items are used.- scales
Optional scale IDs used to select item columns.
- nfactors
Number of factors.
- extraction
Extraction method passed to
psych::fa().- rotation
Rotation method passed to
psych::fa().- min_loading
Minimum salient loading.
- cross_loading
Maximum secondary loading before a warning is raised.
Value
An object of class sframe_efa_solution. Alongside the psych
objects it carries three tidy data frames ready for plotting and
reporting: loadings_long (item_id, factor, loading),
communalities_table (item_id, communality, uniqueness), and
variance_table (factor, ss_loadings, proportion_var,
cumulative_var).