GAD-7
Generalised Anxiety Disorder Scale - GAD-7
Measuring: Identify probable cases of Generalized anxiety disorder (GAD).
Number of Items: 7
| Item | Question Wording | TILDA Variable |
|---|---|---|
| 1 | Feeling nervous, anxious or on edge. | SCQAnxiety1 |
| 2 | Not being able to stop or control worrying. | SCQAnxiety2 |
| 3 | Worrying too much about different things. | SCQAnxiety3 |
| 4 | Trouble relaxing. | SCQAnxiety4 |
| 5 | Feeling afraid as if something awful might happen. | SCQAnxiety5 |
| 6 | Becoming easily annoyed or irritable. | SCQAnxiety6 |
| 7 | I get sudden feelings of panic. | SCQAnxiety7 |
Scoring Method:
4-point Likert Scale.
0 = Not at all
1 = Several days
2 = More than half the days
3 = Nearly every day
A cumulative score is generated.
Scores of 10 fulfils the criteria for general Anxiety Disorder in the last 12 months.
Citation: Spitzer, R. L., Kroenke, K., Williams, J. B., & Lowe, B. (2006). A brief measure for assessing generalized anxiety disorder: the GAD-7. Archives of internal medicine, 166(10), 1092–1097. https://doi.org/10.1001/archinte.166.10.1092
Example TILDA Papers:
- McDowell, C. P., Dishman, R. K., Vancampfort, D., Hallgren, M., Stubbs, B., MacDonncha, C., & Herring, M. P. (2018). Physical activity and generalized anxiety disorder: results from The Irish Longitudinal Study on Ageing (TILDA). International journal of epidemiology, 47(5), 1443-1453. https://doi.org/10.1093/ije/dyy141
Code
mvdecode Anxiety*, mv(-99=.\-812=.\-823=.\-834=.)
gen GAD7 = 0 if in_scq == 1
foreach posq in SCQAnxiety1 SCQAnxiety2 SCQAnxiety3 SCQAnxiety4 SCQAnxiety5 SCQAnxiety6 SCQAnxiety7 {
replace GAD7 = GAD7 + (`posq'-1)
replace GAD7 = . if `posq' == 99 | `posq' <0
replace GAD7 = . if `posq' == 98
}
label variable GAD7 "Generalised Anxiety Scale (GAD7)"
notes GAD7: Anxiety-GAD-7 Ordinal. Questions are all 3 2 1 0, ie coded score minus 1, higher score more anxietygad_items <- paste0("SCQAnxiety", 1:7)
for (v in gad_items) {
data[[v]][data[[v]] %in% c(-99, -812, -823, -834)] <- NA_real_
}
data$GAD7 <- NA_real_
data$GAD7[!is.na(data$in_scq) & data$in_scq == 1] <- 0
for (v in gad_items) {
data$GAD7 <- data$GAD7 + (data[[v]] - 1)
data$GAD7[data[[v]] == 99 |
data[[v]] == 98 |
(!is.na(data[[v]]) & data[[v]] < 0)] <- NA_real_
}
attr(data$GAD7, "label") <- "Generalised Anxiety Scale (GAD7)"
attr(data$GAD7, "note") <- paste(
"Anxiety-GAD-7 Ordinal. Questions are all 3 2 1 0, ie coded score minus 1,",
"higher score more anxiety"
)* Recode special missing values used in the source.
RECODE SCQAnxiety1 SCQAnxiety2 SCQAnxiety3 SCQAnxiety4
SCQAnxiety5 SCQAnxiety6 SCQAnxiety7
(-99 = SYSMIS) (-812 = SYSMIS) (-823 = SYSMIS) (-834 = SYSMIS).
COMPUTE GAD7 = $SYSMIS.
IF (in_scq = 1) GAD7 = 0.
COMPUTE GAD7 = GAD7 + (SCQAnxiety1 - 1).
IF (SCQAnxiety1 = 99 OR SCQAnxiety1 = 98 OR SCQAnxiety1 < 0) GAD7 = $SYSMIS.
COMPUTE GAD7 = GAD7 + (SCQAnxiety2 - 1).
IF (SCQAnxiety2 = 99 OR SCQAnxiety2 = 98 OR SCQAnxiety2 < 0) GAD7 = $SYSMIS.
COMPUTE GAD7 = GAD7 + (SCQAnxiety3 - 1).
IF (SCQAnxiety3 = 99 OR SCQAnxiety3 = 98 OR SCQAnxiety3 < 0) GAD7 = $SYSMIS.
COMPUTE GAD7 = GAD7 + (SCQAnxiety4 - 1).
IF (SCQAnxiety4 = 99 OR SCQAnxiety4 = 98 OR SCQAnxiety4 < 0) GAD7 = $SYSMIS.
COMPUTE GAD7 = GAD7 + (SCQAnxiety5 - 1).
IF (SCQAnxiety5 = 99 OR SCQAnxiety5 = 98 OR SCQAnxiety5 < 0) GAD7 = $SYSMIS.
COMPUTE GAD7 = GAD7 + (SCQAnxiety6 - 1).
IF (SCQAnxiety6 = 99 OR SCQAnxiety6 = 98 OR SCQAnxiety6 < 0) GAD7 = $SYSMIS.
COMPUTE GAD7 = GAD7 + (SCQAnxiety7 - 1).
IF (SCQAnxiety7 = 99 OR SCQAnxiety7 = 98 OR SCQAnxiety7 < 0) GAD7 = $SYSMIS.
VARIABLE LABELS GAD7 "Generalised Anxiety Scale (GAD7)".
* Note from Stata:
* Anxiety-GAD-7 Ordinal. Questions are all 3 2 1 0, ie coded score minus 1;
* higher score indicates more anxiety.
EXECUTE.