PIL
Purpose in Life scale - Subscale of the Ryff Scales of Psychological Well-Being
Measuring: A respondent's perceived meaning in life.
Number of Items: 7
| Item | Question Wording | TILDA Variable |
|---|---|---|
| 1 | I enjoy making plans for the future and working to make them a reality. | SCQPurpose1 |
| 2 | My daily activities often seem trivial and unimportant to me. | SCQPurpose2 |
| 3 | I am an active person in carrying out the plans I set for myself. | SCQPurpose3 |
| 4 | I don’t have a good sense of what it is I’m trying to accomplish in life. | SCQPurpose4 |
| 5 | I sometimes feel as if I’ve done all there is to do in life. | SCQPurpose5 |
| 6 | I live life one day at a time and don’t really thing about the future. | SCQPurpose6 |
| 7 | I have a sense of direction and purpose in my life. | SCQPurpose7 |
Scoring Method:
6-point Likert Scale.
1 = Strongly Disagree
2 = Disagree
3 = Disagree slightly
4 = Agree slightly
5 = Agree
6 = Strongly agree
A cumulative score is generated with higher scores representing stronger sense of purpose and meaning in life (7-42).
Items 2, 4, 5, and 6 are negatively worded and reverse scored prior to calculation.
Citation: Ryff, C. D. (1989). Happiness is everything, or is it? Explorations on the meaning of psychological well-being. Journal of Personality and Social Psychology, 57(6), 1069–1081. https://doi.org/10.1037/0022-3514.57.6.1069>
Code
* Recode special missing values
mvdecode SCQPurpose1-SCQPurpose7, ///
mv(-99=. \ -812=. \ -823=. \ -834=. \ -845=. \ -856=.)
* Reverse-score negatively worded items
gen SCQPurpose2_r = 7 - SCQPurpose2
gen SCQPurpose4_r = 7 - SCQPurpose4
gen SCQPurpose5_r = 7 - SCQPurpose5
gen SCQPurpose6_r = 7 - SCQPurpose6
* Calculate total score
egen MHpurpose = rowtotal( ///
SCQPurpose1 ///
SCQPurpose2_r ///
SCQPurpose3 ///
SCQPurpose4_r ///
SCQPurpose5_r ///
SCQPurpose6_r ///
SCQPurpose7 ///
)
* Require all 7 items to be answered
egen Purpose_missing = rowmiss( ///
SCQPurpose1 ///
SCQPurpose2 ///
SCQPurpose3 ///
SCQPurpose4 ///
SCQPurpose5 ///
SCQPurpose6 ///
SCQPurpose7 ///
)
replace MHpurpose = . if Purpose_missing > 0
* Labels
label variable MHpurpose ///
"Purpose in Life Scale total score (7-42)"
notes MHpurpose : ///
Higher scores represent a stronger sense of purpose and meaning in life.
notes MHpurpose : ///
Items 2, 4, 5 and 6 are reverse scored.
* Checks
summarize MHpurpose
tab MHpurpose, missing
* Drop temporary variables
drop SCQPurpose2_r SCQPurpose4_r SCQPurpose5_r SCQPurpose6_r
drop Purpose_missing# Recode special missing values
purpose_items <- paste0("SCQPurpose", 1:7)
special_missing <- c(-99, -812, -823, -834, -845, -856)
for (var in purpose_items) {
data[[var]][data[[var]] %in% special_missing] <- NA_real_
}
# Reverse-score negatively worded items
data$SCQPurpose2_r <- 7 - data$SCQPurpose2
data$SCQPurpose4_r <- 7 - data$SCQPurpose4
data$SCQPurpose5_r <- 7 - data$SCQPurpose5
data$SCQPurpose6_r <- 7 - data$SCQPurpose6
# Calculate total score
score_items <- c(
"SCQPurpose1",
"SCQPurpose2_r",
"SCQPurpose3",
"SCQPurpose4_r",
"SCQPurpose5_r",
"SCQPurpose6_r",
"SCQPurpose7"
)
# Mirrors Stata egen rowtotal(): sum available items first
data$MHpurpose <- rowSums(data[score_items], na.rm = TRUE)
# Require all 7 original items to be answered
data$Purpose_missing <- rowSums(is.na(data[purpose_items]))
data$MHpurpose[data$Purpose_missing > 0] <- NA_real_
# Label / notes
attr(data$MHpurpose, "label") <- "Purpose in Life Scale total score (7-42)"
attr(data$MHpurpose, "note") <- paste(
"Higher scores represent a stronger sense of purpose and meaning in life.",
"Items 2, 4, 5 and 6 are reverse scored."
)
# Checks
summary(data$MHpurpose)
table(data$MHpurpose, useNA = "ifany")
# Drop temporary variables
data[c(
"SCQPurpose2_r",
"SCQPurpose4_r",
"SCQPurpose5_r",
"SCQPurpose6_r",
"Purpose_missing"
)] <- NULL* Recode special missing values.
RECODE SCQPurpose1 TO SCQPurpose7
(-99 = SYSMIS)
(-812 = SYSMIS)
(-823 = SYSMIS)
(-834 = SYSMIS)
(-845 = SYSMIS)
(-856 = SYSMIS).
* Reverse-score negatively worded items.
COMPUTE SCQPurpose2_r = 7 - SCQPurpose2.
COMPUTE SCQPurpose4_r = 7 - SCQPurpose4.
COMPUTE SCQPurpose5_r = 7 - SCQPurpose5.
COMPUTE SCQPurpose6_r = 7 - SCQPurpose6.
* Calculate total score.
* SUM() mirrors Stata rowtotal() by summing available nonmissing items.
COMPUTE MHpurpose = SUM(
SCQPurpose1,
SCQPurpose2_r,
SCQPurpose3,
SCQPurpose4_r,
SCQPurpose5_r,
SCQPurpose6_r,
SCQPurpose7
).
* Require all 7 original items to be answered.
COMPUTE Purpose_missing = NMISS(
SCQPurpose1,
SCQPurpose2,
SCQPurpose3,
SCQPurpose4,
SCQPurpose5,
SCQPurpose6,
SCQPurpose7
).
IF (Purpose_missing > 0) MHpurpose = $SYSMIS.
* Labels.
VARIABLE LABELS MHpurpose
"Purpose in Life Scale total score (7-42)".
* Notes:
* Higher scores represent a stronger sense of purpose and meaning in life.
* Items 2, 4, 5 and 6 are reverse scored.
* Checks.
DESCRIPTIVES VARIABLES=MHpurpose.
FREQUENCIES VARIABLES=MHpurpose /MISSING=INCLUDE.
* Drop temporary variables.
DELETE VARIABLES
SCQPurpose2_r
SCQPurpose4_r
SCQPurpose5_r
SCQPurpose6_r
Purpose_missing.
EXECUTE.