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 | toType |
---|---|---|
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 | toType | 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 | toType | databaseStart | |
---|---|---|---|---|
2 | HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p |
3 | HWTGBMI | N/A | cont | cchs2001_p, cchs2003_p |
variable | dummyVariable | toType | 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 | toType | 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 | toType | 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 | toType | 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 | toType | databaseStart | variableStart | fromType |
---|---|---|---|---|---|
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 | toType | databaseStart | variableStart | fromType | recTo |
---|---|---|---|---|---|---|
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 | toType | databaseStart | variableStart | fromType | recTo | 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 | toType | databaseStart | variableStart | fromType | recTo | 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 | toType | databaseStart | variableStart | fromType | recTo | 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 | toType | databaseStart | variableStart | fromType | recTo | 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 | toType | databaseStart | variableStart | fromType | recTo | numValidCat | catLabel | catLabelLong | units | recFrom |
---|---|---|---|---|---|---|---|---|---|---|---|
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 | toType | databaseStart | variableStart | fromType | recTo | numValidCat | catLabel | catLabelLong | units | recFrom | 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 | toType | databaseStart | variableStart | fromType | recTo | numValidCat | catLabel | catLabelLong | units | recFrom | 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 | toType | databaseStart | variableStart | fromType | recTo | numValidCat | catLabel | catLabelLong | units | recFrom | 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 | toType | databaseStart | variableStart | fromType | recTo | numValidCat | catLabel | catLabelLong | units | recFrom | 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
variable_details.csv
sheet would look for the derived pack-years row
variable | dummyVariable | toType | databaseStart | variableStart | fromType | recTo | numValidCat | catLabel | catLabelLong | units | recFrom | 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 | toType | databaseStart | variableStart | fromType | recTo | numValidCat | catLabel | catLabelLong | units | recFrom | 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 | toType | databaseStart | variableStart | fromType | recTo | numValidCat | catLabel | catLabelLong | units | recFrom | 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 | toType | databaseStart | variableStart | fromType | recTo | numValidCat | catLabel | catLabelLong | units | recFrom | 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 |