View source: R/comparability.R
| comparability | R Documentation |
Measures how well each factor at each level of a bass-ackwards hierarchy
replicates across random split-halves of the sample – Everett's (1983)
factor comparability coefficients, reviving the split-half replication
gate of the research program that produced the bass-ackwards method:
Saucier (1997) screened factor solutions by their split-half stability,
and Saucier, Georgiades, Tsaousis, and Goldberg (2005) chose the optimal
hierarchical level by requiring split-half replication above a .90
threshold. It is also the direct instrument for the overextraction
caution in suggest_k(): non-replicable structure concentrates in the
deeper levels of an overextracted hierarchy (Forbes, 2023).
comparability(
data,
k_max,
engine = "pca",
cor = "pearson",
fm = "minres",
n_splits = 10L,
seed = NULL,
...
)
data |
A data frame or numeric matrix of observed variables (items in
columns, observations in rows). Raw data only – splitting needs rows,
so a correlation matrix is not accepted. Missing values are handled
pairwise throughout (as in |
k_max |
Maximum number of factors/components to evaluate – normally
the same value (or one or two above it) you intend to pass to
|
engine |
Extraction engine: |
cor |
Correlation basis: |
fm |
Factor extraction method passed to |
n_splits |
Number of random split-half replicates. Default |
seed |
Integer seed for reproducible splits. |
... |
Reserved for future arguments. |
For each of n_splits random half-splits, solutions at every level
1..k_max are fit independently in each half. Each half-solution's factors
are matched to the full-sample solution's factors (so coefficients are
reported under the same m{k}f{j} labels you get from ackwards()), and
the comparability coefficient for a factor is the correlation between its
two matched half-solution scores, computed on the pooled correlation matrix
via the same W'RW algebra used for between-level edges – applying both
halves' scoring weights to the full sample, exactly Everett's procedure.
Tucker's congruence coefficient (phi) between the matched half-solution
loading columns is reported alongside: comparability asks whether the two
halves' scores agree; phi asks whether their loading patterns agree.
An object of class "comparability". Print it for a per-level
summary; call autoplot() on it for a diagnostic plot. The list contains:
coefficients |
Data frame with one row per split x level x factor:
|
summary |
Data frame with one row per level x factor: |
k_max |
Deepest level evaluated. Can be lower than the |
k_requested, n_splits, n_half, engine, cor, fm, n_obs, n_vars, seed |
Metadata. |
Coefficients near 1 mean the factor re-emerges in independent half-samples;
a factor whose comparability is low is sample-idiosyncratic and should not
anchor substantive interpretation. Conventional benchmarks: .90 is the
split-half replication threshold of Goldberg's lexical research program
(Saucier et al., 2005) and follows from Everett's (1983) rationale
(split-half factors sharing at least 81% of their variance); .95 is
the stricter bound at which two factors are conventionally treated as
interchangeable (Lorenzo-Seva & ten Berge, 2006). These are conventions,
not tests, so comparability() reports every coefficient and flags
nothing. The deepest level at which all factors replicate is a natural
hierarchy floor for ackwards()'s k_max; see
vignette("ackwards-girard") for the full workflow.
A level that fails to converge in a half-sample yields NA coefficients
for that split (convergence is data, not an error); the number of usable
splits per factor is reported in summary$n_splits_ok and a message
summarises any shortfall.
Everett, J. E. (1983). Factor comparability as a means of determining the number of factors and their rotation. Multivariate Behavioral Research, 18(2), 197–218. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1207/s15327906mbr1802_5")}
Saucier, G. (1997). Effects of variable selection on the factor structure of person descriptors. Journal of Personality and Social Psychology, 73(6), 1296–1312. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1037/0022-3514.73.6.1296")}
Saucier, G., Georgiades, S., Tsaousis, I., & Goldberg, L. R. (2005). The factor structure of Greek personality adjectives. Journal of Personality and Social Psychology, 88(5), 856–875. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1037/0022-3514.88.5.856")}
Lorenzo-Seva, U., & ten Berge, J. M. F. (2006). Tucker's congruence coefficient as a meaningful index of factor similarity. Methodology, 2(2), 57–64. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1027/1614-2241.2.2.57")}
Forbes, M. K. (2023). Improving hierarchical models of individual differences: An extension of Goldberg's bass-ackward method. Psychological Methods. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1037/met0000546")}
suggest_k() for the plausible depth range (eigenstructure),
factorability() for sampling adequacy before you fit, prune() for
factors that perpetuate without differentiating (redundancy), and
ackwards() for the extraction itself.
cmp <- comparability(sim16, k_max = 5, n_splits = 5, seed = 1)
cmp
cmp$summary
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.