# Scale ID: 			Gratitude
# Scale Name: 		Gratitude questionnaire
# TILDA Variables: 	GAD7
# Dataset:      		TILDA Waves 6
# Author:
# Institution:  		The Irish Longitudinal Study on Ageing (TILDA)
# 
# Description:
# Cleans and codes up summed score measuring Gratitude.
# 
# Version:      1.0
# Date:         2026-09-01
# Language:     R

# Assumption: the working data frame is called `data`.

gq_items <- paste0("GQ", 1:6)

# Frequency checks
for (v in gq_items) print(table(data[[v]], useNA = "ifany"))

# Recode special missing values.
special_missing <- c(-99, -812, -823, -834, -845, -856, -867, -1)
for (v in gq_items) {
  data[[v]][data[[v]] %in% special_missing] <- NA_real_
}

data$GQ1_rev <- 8 - data$GQ1
data$GQ3_rev <- 8 - data$GQ3

# Stata egen rowtotal() ignores missing values and returns 0 if all items are missing.
data$GQGratitudeScore <- rowSums(
  data[c("GQ1_rev", "GQ2", "GQ3_rev", "GQ4", "GQ5", "GQ6")],
  na.rm = TRUE
)

attr(data$GQGratitudeScore, "label") <- "Tendancy to experience gratitude"

summary(data$GQGratitudeScore)
print(table(data$GQGratitudeScore, useNA = "ifany"))
