vignettes/how_to_add_variables.Rmd
how_to_add_variables.Rmd
This vignette explains how you can add variables to the cchsflow package. There are two types of variables that can be added:
When adding variables that already exist across CCHS cycles, there are two worksheets that need to be specified:
variable_details.csv
: This worksheet maps variables
across CCHS cycles.variables.csv
: This worksheet lists all the variables
that exist in cchsflow
This example will show how the existing CCHS BMI variable was
developed using variable_details.csv
and
variables.csv
. Note this variable is
different from the derived BMI variable that is also included in
cchsflow. For this article, a sample
variable_details.csv
& variables.csv
will
be loaded to demonstrate how to add variables.
variable_details.csv
HWTGBMI
. This should be written for each row.variable |
---|
HWTGBMI |
HWTGBMI |
HWTGBMI |
HWTGBMI |
HWTGBMI |
HWTGBMI |
variable | dummyVariable |
---|---|
HWTGBMI | N/A |
HWTGBMI | N/A |
HWTGBMI | N/A |
HWTGBMI | N/A |
HWTGBMI | N/A |
HWTGBMI | N/A |
cont
in each
row of BMI.variable | dummyVariable | typeEnd |
---|---|---|
HWTGBMI | N/A | cont |
HWTGBMI | N/A | cont |
HWTGBMI | N/A | cont |
HWTGBMI | N/A | cont |
HWTGBMI | N/A | cont |
HWTGBMI | N/A | cont |
variable | dummyVariable | typeEnd | databaseStart | |
---|---|---|---|---|
1 | HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p |
6 | HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p |
variable | dummyVariable | typeEnd | databaseStart | |
---|---|---|---|---|
2 | HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p |
3 | HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p |
variable | dummyVariable | typeEnd | databaseStart | |
---|---|---|---|---|
4 | HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p |
5 | HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p |
variable | dummyVariable | typeEnd | databaseStart | variableStart | |
---|---|---|---|---|---|
1 | HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] |
6 | HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] |
variable | dummyVariable | typeEnd | databaseStart | variableStart | |
---|---|---|---|---|---|
2 | HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI |
3 | HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI |
variable | dummyVariable | typeEnd | databaseStart | variableStart | |
---|---|---|---|---|---|
4 | HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] |
5 | HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] |
cont
in each row of BMI.variable | dummyVariable | typeEnd | databaseStart | variableStart | typeStart |
---|---|---|---|---|---|
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont |
copy
written. For the
not applicable rows NA::a
is written. For the missing and
else rows NA::b
is written. The haven
package
is used for tagging NA in numeric variables.variable | dummyVariable | typeEnd | databaseStart | variableStart | typeStart | recEnd |
---|---|---|---|---|---|---|
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | copy |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont | NA::a |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont | NA::b |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::a |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::b |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::b |
N/A
is written in each
row.variable | dummyVariable | typeEnd | databaseStart | variableStart | typeStart | recEnd | numValidCat |
---|---|---|---|---|---|---|---|
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | copy | N/A |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont | NA::a | N/A |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont | NA::b | N/A |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::a | N/A |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::b | N/A |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::b | N/A |
BMI
is
written. Not applicable rows not applicable
is written.
Missing rows: missing
. Else row: else
variable | dummyVariable | typeEnd | databaseStart | variableStart | typeStart | recEnd | numValidCat | catLabel |
---|---|---|---|---|---|---|---|---|
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | copy | N/A | BMI |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont | NA::a | N/A | not applicable |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont | NA::b | N/A | missing |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::a | N/A | not applicable |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::b | N/A | missing |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::b | N/A | else |
body mass index
is written to give further detail on what
BMI is. The other rows remain the same.variable | dummyVariable | typeEnd | databaseStart | variableStart | typeStart | recEnd | numValidCat | catLabel | catLabelLong |
---|---|---|---|---|---|---|---|---|---|
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | copy | N/A | BMI | Body Mass Index |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont | NA::a | N/A | not applicable | not applicable |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont | NA::b | N/A | missing | missing |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::a | N/A | not applicable | not applicable |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::b | N/A | missing | missing |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::b | N/A | else | else |
kg/m2
is written in each row.variable | dummyVariable | typeEnd | databaseStart | variableStart | typeStart | recEnd | numValidCat | catLabel | catLabelLong | units |
---|---|---|---|---|---|---|---|---|---|---|
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | copy | N/A | BMI | Body Mass Index | kg/m2 |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont | NA::a | N/A | not applicable | not applicable | kg/m2 |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont | NA::b | N/A | missing | missing | kg/m2 |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::a | N/A | not applicable | not applicable | kg/m2 |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::b | N/A | missing | missing | kg/m2 |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::b | N/A | else | else | kg/m2 |
[11.91,57.9]
. In the 2001 and 2003 CCHS
surveys not applicable was coded as 999.6 so the recFrom for this row
would be [999.6,999.6]
. Similarly, in the 2001 and 2003
CCHS surveys don’t know was coded as 999.7, refusal was coded as 999.8,
and not stated was coded as 999.9. Therefore the recFrom for the missing
row for CCHS 2001 and 2003 would be [999.7,999.9]
. In the
not applicable row for the 2005 CCHS survey onwards, the recFrom is
[999.96,999.96]
. In the missing row for CCHS 2005 onwards,
the recFrom is [999.97,999.99]
. For the else row, just
write else
.variable | dummyVariable | typeEnd | databaseStart | variableStart | typeStart | recEnd | numValidCat | catLabel | catLabelLong | units | recStart |
---|---|---|---|---|---|---|---|---|---|---|---|
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | copy | N/A | BMI | Body Mass Index | kg/m2 | [11.91,57.9] |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont | NA::a | N/A | not applicable | not applicable | kg/m2 | 999.6 |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont | NA::b | N/A | missing | missing | kg/m2 | [999.7,999.9] |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::a | N/A | not applicable | not applicable | kg/m2 | 999.96 |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::b | N/A | missing | missing | kg/m2 | [999.97,999.99] |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::b | N/A | else | else | kg/m2 | else |
BMI / self-report (D,G)
is written as it is written in CCHS
documentation. The other rows remain the same, and the values for each
missing category are stated in the missing rows.variable | dummyVariable | typeEnd | databaseStart | variableStart | typeStart | recEnd | numValidCat | catLabel | catLabelLong | units | recStart | catStartLabel |
---|---|---|---|---|---|---|---|---|---|---|---|---|
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | copy | N/A | BMI | Body Mass Index | kg/m2 | [11.91,57.9] | BMI / self-report - (D,G) |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont | NA::a | N/A | not applicable | not applicable | kg/m2 | 999.6 | Not applicable |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont | NA::b | N/A | missing | missing | kg/m2 | [999.7,999.9] | don’t know (999.7); refusal (999.8); not stated (999.9) |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::a | N/A | not applicable | not applicable | kg/m2 | 999.96 | Not applicable |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::b | N/A | missing | missing | kg/m2 | [999.97,999.99] | don’t know (999.97); refusal (999.98); not stated (999.99) |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::b | N/A | else | else | kg/m2 | else | else |
BMI
for each row is sufficient for this variable.variable | dummyVariable | typeEnd | databaseStart | variableStart | typeStart | recEnd | numValidCat | catLabel | catLabelLong | units | recStart | catStartLabel | variableStartShortLabel |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | copy | N/A | BMI | Body Mass Index | kg/m2 | [11.91,57.9] | BMI / self-report - (D,G) | BMI |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont | NA::a | N/A | not applicable | not applicable | kg/m2 | 999.6 | Not applicable | BMI |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont | NA::b | N/A | missing | missing | kg/m2 | [999.7,999.9] | don’t know (999.7); refusal (999.8); not stated (999.9) | BMI |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::a | N/A | not applicable | not applicable | kg/m2 | 999.96 | Not applicable | BMI |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::b | N/A | missing | missing | kg/m2 | [999.97,999.99] | don’t know (999.97); refusal (999.98); not stated (999.99) | BMI |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::b | N/A | else | else | kg/m2 | else | else | BMI |
BMI / self-report - (D,G)
.variable | dummyVariable | typeEnd | databaseStart | variableStart | typeStart | recEnd | numValidCat | catLabel | catLabelLong | units | recStart | catStartLabel | variableStartShortLabel | variableStartLabel |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | copy | N/A | BMI | Body Mass Index | kg/m2 | [11.91,57.9] | BMI / self-report - (D,G) | BMI | BMI / self-report - (D,G) |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont | NA::a | N/A | not applicable | not applicable | kg/m2 | 999.6 | Not applicable | BMI | BMI / self-report - (D,G) |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont | NA::b | N/A | missing | missing | kg/m2 | [999.7,999.9] | don’t know (999.7); refusal (999.8); not stated (999.9) | BMI | BMI / self-report - (D,G) |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::a | N/A | not applicable | not applicable | kg/m2 | 999.96 | Not applicable | BMI | BMI / self-report - (D,G) |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::b | N/A | missing | missing | kg/m2 | [999.97,999.99] | don’t know (999.97); refusal (999.98); not stated (999.99) | BMI | BMI / self-report - (D,G) |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::b | N/A | else | else | kg/m2 | else | else | BMI | BMI / self-report - (D,G) |
variable | dummyVariable | typeEnd | databaseStart | variableStart | typeStart | recEnd | numValidCat | catLabel | catLabelLong | units | recStart | catStartLabel | variableStartShortLabel | variableStartLabel | notes |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | copy | N/A | BMI | Body Mass Index | kg/m2 | [11.91,57.9] | BMI / self-report - (D,G) | BMI | BMI / self-report - (D,G) | CCHS 2001 restricts BMI to ages 20-64. Consider using using HWTGBMI_der for the most concistent BMI variable across all CCHS cycles. See documentation for BMI_fun() in derived variables for more details, or type ?BMI_fun in the console. |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont | NA::a | N/A | not applicable | not applicable | kg/m2 | 999.6 | Not applicable | BMI | BMI / self-report - (D,G) | CCHS 2001 and 2003 codes not applicable and missing variables as 999.6 and 999.7-999.9 respectively, while CCHS 2005 onwards codes not applicable and missing variables as 999.96 and 999.7-999.99 respectively |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI | cont | NA::b | N/A | missing | missing | kg/m2 | [999.7,999.9] | don’t know (999.7); refusal (999.8); not stated (999.9) | BMI | BMI / self-report - (D,G) | Don’t know (999.7) and refusal (999.8) not included in 2001 CCHS |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::a | N/A | not applicable | not applicable | kg/m2 | 999.96 | Not applicable | BMI | BMI / self-report - (D,G) | |
HWTGBMI | N/A | cont | cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::b | N/A | missing | missing | kg/m2 | [999.97,999.99] | don’t know (999.97); refusal (999.98); not stated (999.99) | BMI | BMI / self-report - (D,G) | |
HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] | cont | NA::b | N/A | else | else | kg/m2 | else | else | BMI | BMI / self-report - (D,G) |
variables.csv
Once mapped and specified on variable_details.csv
, the
BMI variable can now be specified on variables.csv
variable | label | labelLong | section | subject | variableType | units | databaseStart | variableStart |
---|---|---|---|---|---|---|---|---|
HWTGBMI | BMI | BMI / self-report - (D,G) | Health status | BMI | Continuous | kg/m2 | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2001_p::HWTAGBMI, cchs2003_p::HWTCGBMI, cchs2005_p::HWTEGBMI, [HWTGBMI] |
Along with specifying the variable on
variable_details.csv
and variables.csv
, a
previous step is required in creating derived variables and that is
creating a custom function that creates the derived variable from
existing CCHS variables.
CustomFunctionName <- function(Vars from variableStart following same order){
outputVar <- {Code on passed vars that generates a single value output}
return(outputVar)
}
Pack-years is a complex derived variable often used by researchers to quantify the amount of cigarette use over a period of time. Even given its complex nature, pack-years can still be calculated. This derived variable incorporates numerous CCHS smoking variables, along with age.
With complex derived variables, sometimes it is necessary to create functions within the custom function. For pack-years, a nested function was used to create an intermediate smoking variable that was used in the main function.
Pack_years_fun <-
function(SMKDSTY, DHHGAGE_cont, SMK_09A_B, SMKG09C, SMKG203_cont, SMKG207_cont,
SMK_204, SMK_05B, SMK_208, SMK_05C, SMKG01C_cont, SMK_01A) {
#Time since quit for former daily smokers
tsq_ds_fun <- function(SMK_09A_B, SMKG09C) {
SMKG09C <-
ifelse2(SMKG09C==1, 4,
ifelse2(SMKG09C==2, 8,
ifelse2(SMKG09C==3, 12, NA)))
tsq_ds <-
ifelse2(SMK_09A_B==1, 0.5,
ifelse2(SMK_09A_B==2, 1.5,
ifelse2(SMK_09A_B==3, 2.5,
ifelse2(SMK_09A_B==4, SMKG09C, NA))))
}
tsq_ds<-tsq_ds_fun(SMK_09A_B, SMKG09C)
# PackYears for Daily Smoker
ifelse2(SMKDSTY==1, pmax(((DHHGAGE_cont - SMKG203_cont)*(SMK_204/20)), 0.0137),
# PackYears for Occasional Smoker (former daily)
ifelse2(SMKDSTY==2, pmax(((DHHGAGE_cont - SMKG207_cont - tsq_ds)*(SMK_208/20)), 0.0137)
+ (pmax((SMK_05B*SMK_05C/30), 1)*tsq_ds),
# PackYears for Occasional Smoker (never daily)
ifelse2(SMKDSTY==3, (pmax((SMK_05B*SMK_05C/30), 1)/20)*(DHHGAGE_cont - SMKG01C_cont),
# PackYears for former daily smoker (non-smoker now)
ifelse2(SMKDSTY==4, pmax(((DHHGAGE_cont - SMKG207_cont - tsq_ds)*(SMK_208/20)), 0.0137),
# PackYears for former occasional smoker (non-smoker now) who smoked at least 100 cigarettes lifetime
ifelse2(SMKDSTY==5 & SMK_01A==1, 0.0137,
# PackYears for former occasional smoker (non-smoker now) who have not smoked at least 100 cigarettes lifetime
ifelse2(SMKDSTY==5 & SMK_01A==2, 0.007,
# Non-smoker
ifelse2(SMKDSTY==6, 0, NA)))))))
}
More information on what each smoking variable means can be found in the Reference section.
variable_details.csv
and variables.csv
This is how the variable_details.csv
sheet would look
for the derived pack-years row
variable | dummyVariable | typeEnd | databaseStart | variableStart | typeStart | recEnd | numValidCat | catLabel | catLabelLong | units | recStart | catStartLabel | variableStartShortLabel | variableStartLabel | notes | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
9 | pack_years_der | N/A | cont | cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | DerivedVar::[SMKDSTY, DHHGAGE_cont, SMK_09A_B, SMKG09C, SMKG203_cont, SMKG207_cont, SMK_204, SMK_05B, SMK_208, SMK_05C, SMKG01C_cont, SMK_01A] | N/A | Func::pack_years_fun | N/A | N/A | N/A | Years | N/A | N/A | Smoking pack-years | Smoking pack-years | PackYears variable derived from various harmonized smoking variables |
And this is how the variables.csv
sheet would look for
the derived pack-years row
variable | label | labelLong | section | subject | variableType | units | databaseStart | variableStart | |
---|---|---|---|---|---|---|---|---|---|
3 | pack_years_der | PackYears | Smoking pack-years | Health behaviour | Smoking | Continuous | Years | cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | DerivedVar::[SMKDSTY, DHHGAGE_cont, SMK_09A_B, SMKG09C, SMKG203_cont, SMKG207_cont, SMK_204, SMK_05B, SMK_208, SMK_05C, SMKG01C_cont, SMK_01A] |
For a continuous derived variable like pack-years, the labels
specified in variables.csv
are sufficient for the variable
to be properly labelled. For categorical derived variables, extra rows
will need to be added on variable_details.csv
so that
labels are generated for each category. The example below shows how
binge_drinker, a derived categorical variable flagging respondents who
binge drink, is specified in variable_details.csv
.
variable | dummyVariable | typeEnd | databaseStart | variableStart | typeStart | recEnd | numValidCat | catLabel | catLabelLong | units | recStart | catStartLabel | variableStartShortLabel | variableStartLabel | notes | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
10 | binge_drinker | N/A | cat | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | DerivedVar::[DHH_SEX, ALW_2A1, ALW_2A2, ALW_2A3, ALW_2A4, ALW_2A5, ALW_2A6, ALW_2A7] | N/A | Func::binge_drinker_fun | N/A | N/A | N/A | N/A | N/A | N/A | Binge Drinker | Binge Drinker | Derived from DHH_SEX, ALW_2A1, ALW_2A2, ALW_2A3, ALW_2A4, ALW_2A5, ALW_2A6, ALW_2A7 |
11 | binge_drinker | N/A | cat | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | DerivedVar::[DHH_SEX, ALW_2A1, ALW_2A2, ALW_2A3, ALW_2A4, ALW_2A5, ALW_2A6, ALW_2A7] | N/A | 1 | 2 | Binge drinker | Binge drinker | N/A | N/A | Binge drinker | Binge Drinker | Binge Drinker | |
12 | binge_drinker | N/A | cat | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | DerivedVar::[DHH_SEX, ALW_2A1, ALW_2A2, ALW_2A3, ALW_2A4, ALW_2A5, ALW_2A6, ALW_2A7] | N/A | 2 | 2 | Regular drinker | Regular drinker | N/A | N/A | Regular drinker | Binge Drinker | Binge Drinker |
As you can see, the first row for binge_drinker specifies the function for the derived variable and the base variables included. The second and third rows specify the categories of the variables, which are then labelled.
It is possible to create a derived variable that involves derived
variables. When creating the custom function for it, use the derived
variable name inside the function. Similarly, when specifying the
variable in variable_details.csv
and
variables.csv
, use the derived variable in the
variableStart column. The example below shows how
number_conditions, a derived categorical variable that counts the number
of chronic conditions that uses the derived respiratory condition
variable, is specified in variable_details.csv
and
variables.csv
.
variable | dummyVariable | typeEnd | databaseStart | variableStart | typeStart | recEnd | numValidCat | catLabel | catLabelLong | units | recStart | catStartLabel | variableStartShortLabel | variableStartLabel | notes | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
13 | number_conditions | number_conditions_catN/A_Func::multiple_conditions_fun1 | cat | cchs2001_p | DerivedVar::[CCC_121, CCC_131, CCC_151, CCC_171, resp_condition_der, CCC_051] | N/A | Func::multiple_conditions_fun1 | N/A | N/A | N/A | N/A | N/A | N/A | Number of chronic conditions | Number of chronic conditions | This variable is derived from CCC_121, CCC_131, CCC_151, CCC_171, resp_condition, CCC_050 |
14 | number_conditions | number_conditions_catN/A_Func::multiple_conditions_fun2 | cat | cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | DerivedVar::[CCC_121, CCC_131, CCC_151, CCC_171, CCC_280, resp_condition_der, CCC_051] | N/A | Func::multiple_conditions_fun2 | N/A | N/A | N/A | N/A | N/A | N/A | Number of chronic conditions | Number of chronic conditions | This variable is derived from CCC_121, CCC_131, CCC_151, CCC_171, CCC_280, resp_condition, CCC_051 |
15 | number_conditions | number_conditions_cat6_0 | cat | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2011_2012_p, cchs2013_2014_p | DerivedVar::[CCC_121, CCC_131, CCC_151, CCC_171, CCC_280, resp_condition_der, CCC_051] | N/A | 0 | 6 | 0 | 0 | N/A | N/A | 0 | Number of chronic conditions | Number of chronic conditions | |
16 | number_conditions | number_conditions_cat6_1 | cat | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | DerivedVar::[CCC_121, CCC_131, CCC_151, CCC_171, CCC_280, resp_condition_der, CCC_051] | N/A | 1 | 6 | 1 | 1 | N/A | N/A | 1 | Number of chronic conditions | Number of chronic conditions | |
17 | number_conditions | number_conditions_cat6_2 | cat | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | DerivedVar::[CCC_121, CCC_131, CCC_151, CCC_171, CCC_280, resp_condition_der, CCC_051] | N/A | 2 | 6 | 2 | 2 | N/A | N/A | 2 | Number of chronic conditions | Number of chronic conditions | |
18 | number_conditions | number_conditions_cat6_3 | cat | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | DerivedVar::[CCC_121, CCC_131, CCC_151, CCC_171, CCC_280, resp_condition_der, CCC_051] | N/A | 3 | 6 | 3 | 3 | N/A | N/A | 3 | Number of chronic conditions | Number of chronic conditions | |
19 | number_conditions | number_conditions_cat6_4 | cat | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | DerivedVar::[CCC_121, CCC_131, CCC_151, CCC_171, CCC_280, resp_condition_der, CCC_051] | N/A | 4 | 6 | 4 | 4 | N/A | N/A | 4 | Number of chronic conditions | Number of chronic conditions | |
20 | number_conditions | number_conditions_cat6_5+ | cat | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | DerivedVar::[CCC_121, CCC_131, CCC_151, CCC_171, CCC_280, resp_condition_der, CCC_051] | N/A | 5+ | 6 | 5+ | 5+ | N/A | N/A | 5+ | Number of chronic conditions | Number of chronic conditions |
variable | label | labelLong | section | subject | variableType | units | databaseStart | variableStart | |
---|---|---|---|---|---|---|---|---|---|
4 | number_conditions | Number of conditions | Number of chronic conditions | Health status | Chronic conditions | Categorical | N/A | cchs2001_p, cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | DerivedVar::[CCC_121, CCC_131, CCC_151, CCC_171, resp_condition_der, CCC_051], DerivedVar::[CCC_121, CCC_131, CCC_151, CCC_171, CCC_280, resp_condition_der, CCC_051] |
In order to harmonize a variable across all cycles, you may need to
create a derived variable for the years in which the variable is not
present. An example of this is RACDPAL, a variable that was derived from
2003 to 2018. To create and specify RACDPAL for 2001, the same derived
variable conventions apply with a few slight differences. In
variables.csv
, the DerivedVar is enclosed with the database
in which it is derived.
variableStart |
---|
cchs2001_p::[DerivedVar::[RAC_1, RAC_2A, RAC_2B, RAC_2C]], cchs2003_p::RACCDPAL, cchs2005_p::RACEDPAL, [RACDPAL] |
This is to specify that for the 2001 CCHS cycle, it is derived from those base variables; while in later cycles it is simply recoded from the database.
In variable_details.csv
, additional rows are created for
the 2001 cycle so that rec_with_table()
understands that in
2001 it will be derived from base variables, while in later cycles it is
a simple recode.
variable | dummyVariable | typeEnd | databaseStart | variableStart | typeStart | recEnd | numValidCat | catLabel | catLabelLong | units | recStart | catStartLabel | variableStartShortLabel | variableStartLabel | notes | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
21 | RACDPAL | N/A | cat | cchs2001_p | DerivedVar::[RAC_1, RAC_2A, RAC_2B, RAC_2C] | N/A | Func::RACDPAL_fun | N/A | N/A | N/A | N/A | N/A | N/A | Participation and activity limitation | Participation and activity limitation | |
22 | RACDPAL | N/A | cat | cchs2001_p | DerivedVar::[RAC_1, RAC_2A, RAC_2B, RAC_2C] | N/A | 1 | 3 | Sometimes | Sometimes | N/A | N/A | Sometimes | Participation and activity limitation | Participation and activity limitation | |
23 | RACDPAL | N/A | cat | cchs2001_p | DerivedVar::[RAC_1, RAC_2A, RAC_2B, RAC_2C] | N/A | 2 | 3 | Often | Often | N/A | N/A | Often | Participation and activity limitation | Participation and activity limitation | |
24 | RACDPAL | N/A | cat | cchs2001_p | DerivedVar::[RAC_1, RAC_2A, RAC_2B, RAC_2C] | N/A | 3 | 3 | Never | Never | N/A | N/A | Never | Participation and activity limitation | Participation and activity limitation | |
25 | RACDPAL | RACDPAL_cat3_1 | cat | cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2003_p::RACCDPAL, cchs2005_p::RACEDPAL, [RACDPAL] | cat | 1 | 3 | Sometimes | Sometimes | N/A | 1 | Sometimes | Participation and activity limitation | Participation and activity limitation | |
26 | RACDPAL | RACDPAL_cat3_2 | cat | cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2003_p::RACCDPAL, cchs2005_p::RACEDPAL, [RACDPAL] | cat | 2 | 3 | Often | Often | N/A | 2 | Often | Participation and activity limitation | Participation and activity limitation | |
27 | RACDPAL | RACDPAL_cat3_3 | cat | cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2003_p::RACCDPAL, cchs2005_p::RACEDPAL, [RACDPAL] | cat | 3 | 3 | Never | Never | N/A | 3 | Never | Participation and activity limitation | Participation and activity limitation | |
28 | RACDPAL | RACDPAL_cat3_NA::a | cat | cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2003_p::RACCDPAL, cchs2005_p::RACEDPAL, [RACDPAL] | cat | NA::a | 3 | not applicable | not applicable | N/A | 6 | not applicable | Participation and activity limitation | Participation and activity limitation | |
29 | RACDPAL | RACDPAL_cat3_NA::b | cat | cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2003_p::RACCDPAL, cchs2005_p::RACEDPAL, [RACDPAL] | cat | NA::b | 3 | missing | missing | N/A | [7,9] | don’t know (7); refusal (8); not stated (9) | Participation and activity limitation | Participation and activity limitation | |
30 | RACDPAL | RACDPAL_cat3_NA::b | cat | cchs2003_p, cchs2005_p, cchs2007_2008_p, cchs2009_2010_p, cchs2010_p, cchs2011_2012_p, cchs2012_p, cchs2013_2014_p, cchs2014_p | cchs2003_p::RACCDPAL, cchs2005_p::RACEDPAL, [RACDPAL] | cat | NA::b | 3 | missing | missing | N/A | else | else | Participation and activity limitation | Participation and activity limitation |