| sfa_jinglejangle | R Documentation |
Compares whole scales by the meaning of their items versus the meaning of their names to surface two classic measurement problems (Wulff & Mata, 2025, 2026): jingle (scales with similar names but dissimilar content) and jangle (scales with dissimilar names but similar content).
sfa_jinglejangle(
scales,
labels = NULL,
embed = "sbert",
model = NULL,
flag = 0.2,
item_embeddings = NULL,
label_embeddings = NULL
)
scales |
A named list; each element is a character vector of the scale's
item texts. The names are used as scale labels unless |
labels |
Optional character vector of scale names (construct labels), one per scale, overriding the list names. |
embed, model |
Embedding backend and model (default the package default sbert model). |
flag |
Absolute content-minus-label similarity difference at which to flag a pair (default 0.20). The single-difference rule and its 0.20 default are this package's convenience heuristic, not Wulff & Mata's criterion (they flag pairs with quantile-derived dual cutoffs on the two similarities separately); tune it to your scale set. |
item_embeddings, label_embeddings |
Optional precomputed embeddings: a named list of per-scale item-embedding matrices, and a matrix of label embeddings (one row per scale). Use when no embedding backend is available. |
Each scale is represented by a content vector (the mean of its item embeddings) and a label vector (the embedding of its name). For every pair of scales the function compares content similarity with label similarity; large divergences flag the two fallacies.
An object of class "sfa_jinglejangle": a list with the
content_sim and label_sim scale-by-scale matrices and a
flags data frame (scale_a, scale_b, content_sim, label_sim,
divergence, type).
Wulff, D. U., & Mata, R. (2025). Semantic embeddings reveal and address taxonomic incommensurability in psychological measurement. Nature Human Behaviour, 9(5), 944–954. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1038/s41562-024-02089-y")}
Wulff, D. U., & Mata, R. (2026). Escaping the jingle-jangle jungle: Increasing conceptual clarity in psychology using large language models. Current Directions in Psychological Science, 35(2), 59–65. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1177/09637214251382083")}
sfa_anchor
data(big5)
scales <- list(
Extraversion = big5$items[big5$factors == "Extraversion"],
Sociability = big5$items[big5$factors == "Extraversion"], # same content, new name
Neuroticism = big5$items[big5$factors == "Neuroticism"])
# precomputed embeddings so the example needs no backend
ie <- lapply(scales, function(items)
big5$embeddings[match(items, big5$items), , drop = FALSE])
le <- big5$embeddings[match(c("E1", "C31", "N11"), big5$codes), , drop = FALSE]
sfa_jinglejangle(scales, item_embeddings = ie, label_embeddings = le)
## Not run:
# with a live backend, pass the scales and their names are embedded directly:
sfa_jinglejangle(scales)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.