PSWQ
Penn State Worry Questionnaire (PSWQ)
Measuring: Trait of worry in adults.
Number of Items: 8
| Item | Question Wording | TILDA Variable |
|---|---|---|
| 1 | My worries overwhelm me. | SCQWORRY1 |
| 2 | Many situations make me worry. | SCQWORRY2 |
| 3 | I know I should not worry about things, but I just cannot help it. | SCQWORRY3 |
| 4 | When I am under pressure, I worry a lot. | SCQWORRY4 |
| 5 | I am always worrying about something. | SCQWORRY5 |
| 6 | As soon as I finish one task, I start to worry about everything else I must do. | SCQWORRY6 |
| 7 | I have been a worrier all my life. | SCQWORRY7 |
| 8 | I have been worrying about things. | SCQWORRY8 |
Scoring Method:
Scored on a 5-point Likert scale.
1 = Not at all typical
2 = Rarely typical
3 = Somewhat typical
4 = Often typical
5 = Very typical
- A cumulative score is generated with higher scores indicating greater trait worry (8-40).
Citation: Meyer, T. J., Miller, M. L., Metzger, R. L., & Borkovec, T. D. (1990). Development and validation of the Penn State Worry Questionnaire. Behaviour research and therapy, 28(6), 487–495. https://doi.org/10.1016/0005-7967(90)90135-6
Example TILDA Papers:
- Herring, M. P., Rasmussen, C. L., McDowell, C. P., Gordon, B. R., Kenny, R. A., & Laird, E. (2024). Physical activity dose for generalized anxiety disorder & worry: Results from the Irish longitudinal study on ageing. Psychiatry research, 332, 115723. https://doi.org/10.1016/j.psychres.2024.115723
Code
/*
Items are scored 1-5.
Total score is sum of item scores (range 8 - 40)
(This is the short form with no negatively worded items)
**/
* recode errors (multiple boxes ticked by R) and non-responders (-99) to missing
mvdecode SCQWORRY*, mv(-99=.\-812=.\-823=.\-834=.\-845=.)
gen pennworry = 0 if in_scq == 1
replace pennworry = SCQWORRY1 + SCQWORRY2 + SCQWORRY3 + SCQWORRY4 + SCQWORRY5 + SCQWORRY6 + SCQWORRY7 + SCQWORRY8
replace pennworry = . if pennworry > 100
label variable pennworry "Penn worry scale (range=8-40)"
rename pennworry MHpennworryworry_items <- paste0("SCQWORRY", 1:8)
for (v in worry_items) {
data[[v]][data[[v]] %in% c(-99, -812, -823, -834, -845)] <- NA_real_
}
data$pennworry <- NA_real_
data$pennworry[!is.na(data$in_scq) & data$in_scq == 1] <- 0
# Ordinary addition matches the Stata source: any missing item makes the total missing.
data$pennworry <-
data$SCQWORRY1 + data$SCQWORRY2 + data$SCQWORRY3 + data$SCQWORRY4 +
data$SCQWORRY5 + data$SCQWORRY6 + data$SCQWORRY7 + data$SCQWORRY8
data$pennworry[!is.na(data$pennworry) & data$pennworry > 100] <- NA_real_
attr(data$pennworry, "label") <- "Penn worry scale (range=8-40)"
names(data)[names(data) == "pennworry"] <- "MHpennworry"RECODE SCQWORRY1 SCQWORRY2 SCQWORRY3 SCQWORRY4
SCQWORRY5 SCQWORRY6 SCQWORRY7 SCQWORRY8
(-99 = SYSMIS) (-812 = SYSMIS) (-823 = SYSMIS)
(-834 = SYSMIS) (-845 = SYSMIS).
COMPUTE pennworry = $SYSMIS.
IF (in_scq = 1) pennworry = 0.
COMPUTE pennworry =
SCQWORRY1 + SCQWORRY2 + SCQWORRY3 + SCQWORRY4 +
SCQWORRY5 + SCQWORRY6 + SCQWORRY7 + SCQWORRY8.
IF (pennworry > 100) pennworry = $SYSMIS.
VARIABLE LABELS pennworry "Penn worry scale (range=8-40)".
RENAME VARIABLES (pennworry = MHpennworry).
EXECUTE.