Responder analysis of pre-to-post change on the Rasch interval scale
Source:R/rasch-responder.R
raschResponder.RdClassifies each person's change between two occasions using interval (logit)
measures from raschAnalyze() / PhysioAppKit::pcm_measure(). The Rasch
model's own standard errors give a distribution-free standard error of
measurement and hence the Minimal Detectable Change; the pre/post change is
then run through mdcResponder() (reliable change) and, when an MCID on the
logit scale is supplied, classifyResponder() (the MDC x MCID framework).
Usage
raschResponder(
pre,
post,
mcid = NULL,
confidence = 0.95,
direction = c("increase", "decrease")
)Arguments
- pre, post
Baseline and follow-up measures: a
poly_raschfit, a list withtheta/theta_se, or a numeric measure vector.seis required (from the fit) to derive the MDC.- mcid
Optional MCID on the logit scale; enables the four-level
classifyResponder()output.- confidence
Confidence level for the MDC (default 0.95).
- direction
"increase"(default; higher measure = better) or"decrease".
Value
a data.frame, one row per person: pre, post, change,
improvement (direction-aware), sem, mdc, reliable_change (from
mdcResponder()) and, if mcid given, classification (from
classifyResponder()). Attributes sem, mdc, mcid record the values used.
Details
The two occasions must be on a common metric – calibrate the items once and anchor them, or co-calibrate – and the persons must align by row.
Examples
pre <- list(theta = c(0, 0, 0, 0), theta_se = rep(0.3, 4))
post <- list(theta = c(1.5, 0.1, -1.2, 0.05), theta_se = rep(0.3, 4))
raschResponder(pre, post, mcid = 1.0)
#> pre post change improvement sem mdc reliable_change classification
#> 1 0 1.50 1.50 1.50 0.3 0.8315423 improved true_responder
#> 2 0 0.10 0.10 0.10 0.3 0.8315423 stable non_responder
#> 3 0 -1.20 -1.20 -1.20 0.3 0.8315423 declined non_responder
#> 4 0 0.05 0.05 0.05 0.3 0.8315423 stable non_responder