Compute per-scale internal-consistency reliability — Cronbach's alpha and
McDonald's omega — for the HiTOP Self-Report (405 items). Reliability is
estimated on the reverse-keyed item responses for each of the scales that
score_hitopsr() outputs.
Usage
reliability_hitopsr(
data,
items,
srange = c(1, 4),
alpha = TRUE,
omega = TRUE,
subset = NULL
)Arguments
- data
A data frame containing the HiTOP-SR items (numerically coded): all 405 of them, or, when
subsetis supplied, that short form's items.- items
A vector of column names (as strings) or numbers (as integers) corresponding to the HiTOP-SR items held in
data— all 405, or, whensubsetis supplied, that short form's items. Items must be supplied in instrument order; duplicated entries are an error.- srange
An optional numeric vector specifying the minimum and maximum values of the HiTOP-SR items, used for reverse-coding. (default =
c(1, 4))- alpha
Optional logical; if
TRUE, include a column of Cronbach's alpha per scale. (default =TRUE)- omega
Optional logical; if
TRUE, include a column of McDonald's omega (total) per scale, estimated via a one-factor CFA (requires the lavaan package). (default =TRUE)- subset
An optional
hitop_subsetobject, as returned byhitop_subset(), describing a short form of the instrument. When supplied,dataanditemshold only that subset's item columns — in ascending instrument order, as thegenerate_*_hitopsr()forms lay them out — and one row is returned per subset scale. WhenNULL, all 405 items are expected and all 76 scales are estimated. (default =NULL)
Value
A tibble with one row per scale and columns scale,
nItems, and (when requested) alpha and omega.
Details
Alpha is computed by calc_alpha() (covariance-based, pairwise
deletion) and omega by calc_omega() (one-factor lavaan CFA, FIML). A scale
whose estimate cannot be computed (e.g. too few items or, for omega, a
non-converging CFA or an uninstalled lavaan) is returned as NA
rather than aborting the call.
Examples
# Per-scale alpha for the HiTOP-SR
reliability_hitopsr(sim_hitopsr, items = 1:405, omega = FALSE)
#> # A tibble: 76 × 3
#> scale nItems alpha
#> <chr> <int> <dbl>
#> 1 Agoraphobia 5 -0.108
#> 2 Antisocial Behavior 8 -0.136
#> 3 Appetite Loss 3 0.00603
#> 4 Binge Eating 3 0.0509
#> 5 Bodily Distress 6 0.0879
#> 6 Body Dissatisfaction 4 -0.0891
#> 7 Body Focus 5 -0.0282
#> 8 Callousness 6 -0.347
#> 9 Checking 5 -0.247
#> 10 Cleaning 6 0.174
#> # ℹ 66 more rows
# Per-scale alpha for data collected with a two-scale short form. Select the
# item columns by name: `s$items` holds original HiTOP-SR numbers, which are
# column positions only in a data frame that is exactly the 405 items in order.
s <- hitop_subset("hitopsr", scales = c("Agoraphobia", "Appetite Loss"))
short <- sim_hitopsr[paste0("hsr_", s$items)]
reliability_hitopsr(short, items = names(short), subset = s, omega = FALSE)
#> # A tibble: 2 × 3
#> scale nItems alpha
#> <chr> <int> <dbl>
#> 1 Agoraphobia 5 -0.108
#> 2 Appetite Loss 3 0.00603
