The PHQ-9 (PHQ-D in some sources) is the 9-question depression scale from the Patient Health Questionnaire (PHQ). The results of the PHQ-9 may be used to make a depression diagnosis according to DSM-IV criteria. (see: Wikipedia)

scoring_phq9(data, items = 1:9, keep = TRUE, nvalid = 6, digits = NULL)



a data.frame containing the PHQ-9 items orderd from 1 to 9. The data.frame may contain further variables.


A character vector with the PHQ-9 item names ordered from 1 to 9, or a numeric vector indicating the column numbers of the PHQ-9 items in data.


Logical, whether to keep the single items and whether to return variables containing the number of non-missing items on each scale for each respondent. The default is TRUE.


A numeric value indicating the number of non-missing items required for score calculations. The default is 7.


Integer of length one: value to round to. No rounding by default.


The function returns 3 variables:

  • nvalid.phq9: Number of valid values (MAX=9)

  • score.phq9: PHQ-9 score

  • cutoff.phq9: PHQ-9 as categorical variable


  • Number of items: 9

  • Item range: 0 to 3

  • Reverse items: none

  • Score range: 0 to 27

  • Cut-off-values: < 5 = "minimal"; 5 to 9 = "mild"; 10 to 15 = "moderate"; 15 to 19 = "moderately severe", \(\ge\) 20 = "severe"

  • Minimal clinically important difference: none

  • Treatment of missing values: Questionnaires with up to two missing values are scored, replacing any missing values with the average score of the completed items. (Arrietta et al. 2017)


Arrieta et al. (2017) (

Kroenke et al. (2010) (


if (FALSE) { library(dplyr) items.phq9 <- paste0("phq_", seq(1, 9, 1)) scoring_phq9(mydata, items = items.phq9) }