This function creates a harmonized adjusted BMI variable. A systematic review of the literature concluded that the use of self-reported data among adults underestimates weight and overestimates height, resulting in lower estimates of obesity than those obtained from measured data. Using data from the 2005 Canadian Community Health Survey (CCHS) subsample, where both measured and self-reported values were collected, correction equations have been developed (Connor Gorber et al. 2008). Differences between corrected estimates of obesity from the CCHS and measured estimates from the Canadian Health Measures Survey is monitored over time to determine if the bias in self-reported values is changing and if new correction equations need to be developed. Adjusted BMI variable is first introduced in the CCHS 2015 cycle.
adjusted_bmi_fun() creates a derived variable (HWTGCOR_der) that is harmonized across all CCHS cycles. This function takes the BMI by dividing weight by the square of height, and adds a correction value based on sex.
adjusted_bmi_fun(DHH_SEX, HWTGHTM, HWTGWTK)
DHH_SEX | CCHS variable for sex; 1 = male, 2 = female |
---|---|
HWTGHTM | CCHS variable for height (in meters) |
HWTGWTK | CCHS variable for weight (in kilograms) |
numeric value for adjusted BMI in the HWTGCOR_der variable
For HWTGCOR_der, there are no restrictions to age, height, weight, or pregnancy status. While pregnancy was consistent across all CCHS cycles, its variable (MAM_037) was not available in the PUMF CCHS datasets so it could not be harmonized and included into the function.
HWTGCOR_der uses the CCHS variables for sex, height and weight that have been transformed by cchsflow. In order to generate a value for adjusted BMI across CCHS cycles, sex, height and weight must be transformed and harmonized.
In earlier CCHS cycles (2001 and 2003), height was collected in inches; while in later CCHS cycles (2005+) it was collected in meters. To harmonize values across cycles, height was converted to meters (to 3 decimal points). Weight was collected in kilograms across all CCHS cycles, so no transformations were required in the harmonization process.
# Using adjusted_bmi_fun() to create adjusted BMI values between cycles # adjusted_bmi_fun() is specified in variable_details.csv along with the # CCHS variables and cycles included. # To transform the derived BMI variable, use rec_with_table() for each cycle # and specify HWTGCOR_der, along with sex (DHH_SEX), height (HWTGHTM) and # weight (HWTGWTK).Then by using merge_rec_data(), you can combined # HWTGBMI_der across cycles. library(cchsflow) adjustedbmi2001 <- rec_with_table( cchs2001_p, c( "HWTGHTM", "HWTGWTK", "DHH_SEX", "HWTGCOR_der" ) )#>#>#>#>#>#> DHH_SEX HWTGHTM HWTGWTK HWTGCOR_der #> 1 2 1.422 56.25 29.12087 #> 2 2 1.549 51.75 22.55036 #> 3 1 1.803 78.75 24.98813 #> 4 2 1.575 60.75 25.62214 #> 5 2 1.727 63.00 22.08267 #> 6 1 1.829 91.80 28.44961adjustedbmi2011_2012 <- rec_with_table( cchs2011_2012_p, c( "HWTGHTM", "HWTGWTK", "DHH_SEX", "HWTGCOR_der" ) )#>#>#>#>#> DHH_SEX HWTGHTM HWTGWTK HWTGCOR_der #> 195 1 1.600 64.35 25.96935 #> 196 1 1.880 80.10 23.30779 #> 197 1 1.753 78.75 26.49615 #> 198 2 1.651 83.70 32.15777 #> 199 1 1.930 74.25 20.37102 #> 200 2 1.575 76.50 32.29699#> DHH_SEX HWTGHTM HWTGWTK HWTGCOR_der #> 1 2 1.422 56.25 29.12087 #> 2 2 1.549 51.75 22.55036 #> 3 1 1.803 78.75 24.98813 #> 4 2 1.575 60.75 25.62214 #> 5 2 1.727 63.00 22.08267 #> 6 1 1.829 91.80 28.44961#> DHH_SEX HWTGHTM HWTGWTK HWTGCOR_der #> 395 1 1.600 64.35 25.96935 #> 396 1 1.880 80.10 23.30779 #> 397 1 1.753 78.75 26.49615 #> 398 2 1.651 83.70 32.15777 #> 399 1 1.930 74.25 20.37102 #> 400 2 1.575 76.50 32.29699# adjusted_bmi_fun() can also generate a value for BMI if you input your sex, # and a value for height and weight. Let's say your sex is male, height is # 170cm (1.7m) and your weight is 50kg, your BMI can be calculated as follows: library(cchsflow) adjusted_BMI <- adjusted_bmi_fun(DHH_SEX = 1, HWTGHTM = 1.7, HWTGWTK = 50) print(adjusted_BMI)#> [1] 17.53878