The Geriatric Depression Scale (GDS) is an instrument designed specifically for rating depression in the elderly. It can be administrated to healthy, medically ill, and mild to moderately cognitively impaired older adults. As a general rule, GDS is administrated in LCBC to older adults with a lower cut off around 60 years. However, please consult the instructions for each project, as this guideline has been implemented at different time points across the projects.
The questionnaire consists of 30 questions tapping into a wide variety of topics relevant to depression, including cognitive complaints, motivation, thoughts about the past and the future, self-image, and mood itself. The answers should be based the participants’ feelings throughout the last week.
Twenty of the questions indicate the presence of depression when answered positively, while the ten remaining indicate depression when answered negatively (see scoring instructions below). The questionnaire is scored accordingly, giving one point for each statement that affirms a depressive symptom. The sum of these scores yields one total score, with a possible range between 0 and 30.
The public health burden of a sedentary lifestyle has been recognized globally, but until recently, the prevalence and impact of the problem has not been studied in a uniform and systematic fashion. The questionnaire is the most feasible instrument for measuring physical activity in large groups or populations. However, many of the existing instruments are not comparable in the type of activities surveyed (i.e., leisure-time activities only) and format for data collection.
In response to the global demand for comparable and valid measures of physical activity within and between countries, IPAQ was developed for surveillance activities and to guide policy development related to health-enhancing physical activity across various life domains.
The GDS is quite straight forward in its format, a series of 30 questions that take a yes or no answer. This binary coding makes it quite easy to work with. Several of the questions, however, are formulated in such a way that they require a reversal of the coding before the total score can be summed. The questions which require reversal of coding are, 01, 05, 07, 09, 15, 19, 21, 27, 29, 30, meaning answering “yes” to these should be altered to 0, and “no” altered to 1, before calculating the sum score. The total GDS score is after reversal, a simple addition of all the answers into a single score.
One point is given for any “No” answered to the following
questions:
1, 5, 7, 9, 15, 19, 21, 27, 29 and 30
and one point is given for every “Yes” answered on the following
questions:
2, 3, 4, 6, 8, 10, 11, 12, 13, 14, 16, 17, 18, 20, 22, 23, 24, 25, 26,
28
ipaq
functions
First important notice is on how your time-data is coded. The IPAQ
has three important questions on the number of minutes spent doing
something. This can be recorded in many ways, and some might have given
participants options to answer in specific ways to reduce inaccurate
data. In LCBC we have online solutions for data collection, and for time
questions we have forced an HH:MM
format to make sure
respondents are consistent in the way they answer. In order to use these
with the remaining ipaq calculations, a conversion to minutes is
necessary. The ipaq_time_atler
function will alter the
columns from HH:MM
to minutes. If you have any
NA
in the time data, you will get a warning about not being
able to parse the data, this is expected and wanted behaviour, but you
may proceed, the METs will not be calculated where data is missing.
library(questionnaires)
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
dat <- data.frame(
time_1 = c("02:34", "09:33", "01:14"),
time_2 = c("00:55", NA, "00:30")
)
dat
#> time_1 time_2
#> 1 02:34 00:55
#> 2 09:33 <NA>
#> 3 01:14 00:30
ipaq_time_alter(dat, cols = c(time_1, time_2))
#> time_1 time_2
#> 1 154 55
#> 2 573 NA
#> 3 74 30
To calculate the MET score for an individual MET category the
ipaq_compute_met
is what you need. This function takes a
vector of minutes, days and the MET-factor you want to apply. Default
MET-factor can be found in the ipaq_mets()
function.
ipaq_mets()
#> $light
#> [1] 3.3
#>
#> $moderate
#> [1] 4
#>
#> $vigorous
#> [1] 8
The different MET categories have different questions in the IPAQ, and should be calculated separately before combined to the total score.
vig_data <- data.frame(
ipaq_vig_mins = c(60, 20, 60, 25, 90, 20, 0, 75, 60, 30),
ipaq_vig_days = c(1, 3, 2, 5, 6, 1, 1, 2, 2, 4)
)
vig_data
#> ipaq_vig_mins ipaq_vig_days
#> 1 60 1
#> 2 20 3
#> 3 60 2
#> 4 25 5
#> 5 90 6
#> 6 20 1
#> 7 0 1
#> 8 75 2
#> 9 60 2
#> 10 30 4
ipaq_compute_met(vig_data$ipaq_vig_mins,
vig_data$ipaq_vig_days,
met = 8.0)
#> [1] 480 480 960 1000 4320 160 0 1200 960 960
The total MET score can be manually computed using the
ipaq_compute_sum
, where one supplies a vector for each of
the three MET categories, containing the pre-calculates MET scores for
the categories.
light = c(1300, 300)
moderate = c(200, 400)
vigurous = c(0, 1300)
ipaq_compute_sum(vigurous , moderate, light)
#> [1] 1500 2000
Finally, you can calculate everything in one go using the
ipaq_compute
function. This function has many arguments, as
the minutes and days of each category (2x3) must be specified, and also
the mets you want applied must be supplied. The easiest way to alter the
default mets is by using the ipaq_mets
function to alter
them. The function takes an entire data frame with all columns of data
necessary to compute the MET score.
data <- data.frame(
ipaq_1a = c(NA, "No", "Yes", NA, NA, NA, NA, NA, NA, "Yes"),
ipaq_1b = c(0, NA, 3, 3, 0, 2, 4, 3, 0, 3),
ipaq_2 = c("00:00", "", "01:00", "01:00", "00:00", "03:30", "01:00", "00:25", "00:00", "00:45"),
ipaq_3a = c(NA, "Yes", "Yes", NA, NA, NA, NA, NA, NA, "No"),
ipaq_3b = c(1, 3, 1, 3, 1, 4, 0, 5, 4, NA),
ipaq_4 = c("00:30", "01:30", "01:00", "01:00", "01:00", "02:00", "00:00", "00:15", "03:00", ""),
ipaq_5a = c(NA, "Yes", "Yes", NA, NA, NA, NA, NA, NA, "Yes"),
ipaq_5b = c(7, 3, 7, 7, 3, 3, 0, 5, 7, 4),
ipaq_6 = c("01:00", "00:20", "01:00", "00:25", "01:30", "00:20", "00:00", "01:15", "01:00", "00:30"),
ipaq_7 = c("05:00", "12:00", "05:00", "07:00", "00:18", "05:00", "00:00", "08:00", "04:00", "08:00"),
ipaq_8a = c(5, NA, NA, 4, 4, 6, 5, 4, 6, NA),
ipaq_8b = c(5, NA, NA, 4, NA, 6, 5, 4, 6, NA),
ipaq_8c = c(5, NA, NA, 5, 3, 5, 5, 3, 6, NA)
)
data
#> ipaq_1a ipaq_1b ipaq_2 ipaq_3a ipaq_3b ipaq_4 ipaq_5a ipaq_5b ipaq_6 ipaq_7
#> 1 <NA> 0 00:00 <NA> 1 00:30 <NA> 7 01:00 05:00
#> 2 No NA Yes 3 01:30 Yes 3 00:20 12:00
#> 3 Yes 3 01:00 Yes 1 01:00 Yes 7 01:00 05:00
#> 4 <NA> 3 01:00 <NA> 3 01:00 <NA> 7 00:25 07:00
#> 5 <NA> 0 00:00 <NA> 1 01:00 <NA> 3 01:30 00:18
#> 6 <NA> 2 03:30 <NA> 4 02:00 <NA> 3 00:20 05:00
#> 7 <NA> 4 01:00 <NA> 0 00:00 <NA> 0 00:00 00:00
#> 8 <NA> 3 00:25 <NA> 5 00:15 <NA> 5 01:15 08:00
#> 9 <NA> 0 00:00 <NA> 4 03:00 <NA> 7 01:00 04:00
#> 10 Yes 3 00:45 No NA Yes 4 00:30 08:00
#> ipaq_8a ipaq_8b ipaq_8c
#> 1 5 5 5
#> 2 NA NA NA
#> 3 NA NA NA
#> 4 4 4 5
#> 5 4 NA 3
#> 6 6 6 5
#> 7 5 5 5
#> 8 4 4 3
#> 9 6 6 6
#> 10 NA NA NA
data %>%
ipaq_time_alter() %>%
# Keeping only calculated values for show, you like want this to be TRUE (default)
ipaq_compute(keep_all = FALSE)
#> # A tibble: 10 × 5
#> # Rowwise:
#> ipaq_met_vigorous ipaq_met_moderate ipaq_met_light ipaq_met ipaq_coded
#> <dbl> <dbl> <dbl> <dbl> <chr>
#> 1 NA 120 1386 1506 low
#> 2 NA 1080 198 1278 low
#> 3 1440 240 1386 3066 high
#> 4 1440 720 578. 2738. moderate
#> 5 NA 240 891 1131 low
#> 6 3360 1920 198 5478 high
#> 7 1920 NA NA 1920 high
#> 8 600 300 1238. 2138. moderate
#> 9 NA 2880 1386 4266 high
#> 10 1080 NA 396 1476 moderate
The GDS is quite straight forward in its format, a series of 30 questions that take a yes or no answer. This binary coding makes it quite easy to work with. Several of the questions, however, are formulated in such a way that they require a reversal of the coding before the total score can be summed. The questions which require reversal of coding are, 01, 05, 07, 09, 15, 19, 21, 27, 29, 30, meaning answering “yes” to these should be altered to 0, and “no” altered to 1, before calculating the sum score. The total GDS score is after reversal, a simple addition of all the answers into a single score.
One point is given for any “No” answered to the following
questions:
1, 5, 7, 9, 15, 19, 21, 27, 29 and 30
and one point is given for every “Yes” answered on the following
questions:
2, 3, 4, 6, 8, 10, 11, 12, 13, 14, 16, 17, 18, 20, 22, 23, 24, 25, 26,
28