Estimates the latent trait for a set of item responses under Samejima's graded response model by expected a posteriori (EAP) scoring over a normal quadrature, and reports it on the PROMIS T-score metric (mean 50, SD 10).
Usage
scorePROMIS(
responses,
calibration,
quad_points = 61,
quad_range = 4,
prior_mean = 0,
prior_sd = 1
)Arguments
- responses
Named numeric vector of item responses (category 1..K per item;
NAfor a skipped item), or a one-row data.frame. Names must matchcalibration$item; an unnamed vector is taken incalibrationrow order.- calibration
A data.frame with columns
item,a(slope) and ordered threshold columnsb1,b2, ... (a K-category item uses K-1 thresholds; pad shorter items withNA).- quad_points, quad_range
EAP quadrature: number of nodes and half-width (nodes span
[-quad_range, quad_range]; defaults 61 and 4).- prior_mean, prior_sd
Normal prior on the latent trait (default standard normal, the PROMIS calibration metric).
Value
A list with theta, se_theta, tscore (50 + 10 * theta),
se_tscore and n_items (items actually scored).
Details
No item parameters are bundled: supply the official PROMIS calibration (slopes and thresholds) from HealthMeasures. Any GRM-scored instrument works with the same function.
References
Samejima F (1969). Estimation of latent ability using a response pattern of graded scores. Psychometrika Monograph 17. PROMIS scoring: HealthMeasures, www.healthmeasures.net.
Examples
# illustrative calibration (NOT official PROMIS parameters)
cal <- data.frame(item = c("i1", "i2", "i3"), a = c(2.4, 1.9, 2.7),
b1 = c(-2, -1.5, -1.8), b2 = c(-1, -0.5, -0.7),
b3 = c(0.2, 0.1, 0), b4 = c(1.4, 1.2, 1.1))
scorePROMIS(c(i1 = 4, i2 = 5, i3 = 4), cal)
#> $theta
#> [1] 0.7861656
#>
#> $se_theta
#> [1] 0.4244072
#>
#> $tscore
#> [1] 57.86166
#>
#> $se_tscore
#> [1] 4.244072
#>
#> $n_items
#> [1] 3
#>