Mood Disorder Questionnaire scoring
Arguments
- data
Data frame containing questionnaire item columns.
- col_map
Named list mapping canonical item IDs to column names; defaults assume items are already named.
- na_action
How to handle rows with missing items:
keep,omit, orerror.- missing_prop_max
Maximum allowed proportion of missing items per row before the score is set to
NA.- prefix
Prefix for output column names.
- symptom_cutoff
Minimum symptom count for a positive screen.
- require_clustering
Require clustering item == 1 to be positive.
- require_impairment
Require impairment item == 1 to be positive.
- verbose
Logical; if
TRUE, emits informational messages about column resolution and scoring progress viahm_inform().
Value
A tibble of score columns only: MDQ_symptom_count, MDQ_clustering, MDQ_impairment, MDQ_positive_screen. Input columns are not included.
Note
The impairment column is expected to be binary (1 = impaired, 0 = not).
The original MDQ impairment question uses a 4-category scale
(1 = no problem, 2 = minor, 3 = moderate, 4 = serious); if the raw
4-category response is passed, the caller must recode it to binary
(e.g., impair_binary = as.integer(impair_raw >= 3)) before scoring.
References
Hirschfeld RMA, Williams JBW, Spitzer RL, Calabrese JR, Flynn L, Keck PE, Lewis L, McElroy SL, Post RM, Rapport DJ, Russell JM, Sachs GS, Zajecka J (2000). “Development and Validation of a Screening Instrument for Bipolar Spectrum Disorder: The Mood Disorder Questionnaire.” American Journal of Psychiatry, 157(11), 1873–1875. doi:10.1176/appi.ajp.157.11.1873 .
Examples
df <- data.frame(matrix(0, nrow = 1, ncol = 13))
names(df) <- sprintf("mdq_%02d", 1:13)
df$mdq_cluster <- 1; df$mdq_impair <- 1
mdq_score(df)
#> # A tibble: 1 × 4
#> MDQ_symptom_count MDQ_clustering MDQ_impairment MDQ_positive_screen
#> <dbl> <lgl> <lgl> <lgl>
#> 1 0 TRUE TRUE FALSE