This function creates a derived variable (pct_time_der) that provides an estimated percentage of the time a person's life was spent in Canada.

pct_time_fun(DHHGAGE_cont, SDCGCBG, SDCGRES)

Arguments

DHHGAGE_cont

continuous age variable.

SDCGCBG

whether or not someone was born in Canada (1 - born in Canada, 2 - born outside Canada)

SDCGRES

how long someone has lived in Canada. Note: in the PUMF CCHS datasets, this is a categorical variable with two categories (1 - 0-9 years; 2 - 10+ years).

Value

Numeric value between 0 and 100 that represents percentage of a respondent's time in Canada

Note

Since SDCGRES is a categorical variable measuring length of time, we've set midpoints in the function. A respondent identified as being in Canada for 0-9 years is assigned a value of 4.5 years, and someone who has been in Canada for over 10 years is assigned a value of 15 years.

Examples

# Using pct_time_fun() to create percent time values between CCHS cycles # pct_time_fun() is specified in variable_details.csv along with the CCHS # variables and cycles included. # To transform pct_time_der across cycles, use rec_with_table() for each CCHS # cycle and specify pct_time_der, along with age (DHHGAGE_cont), whether or # not someone was born in Canada (SDCGCBG), how long someone has lived in # Canada (SDCGRES). Then by using merge_rec_data(), you can combine # pct_time_der across cycles library(cchsflow) pct_time2009_2010 <- rec_with_table( cchs2009_2010_p, c( "DHHGAGE_cont", "SDCGCBG", "SDCGRES", "pct_time_der" ) )
#> No variable_details detected. #> Loading cchsflow variable_details
#> Using the passed data variable name as database_name
#> NOTE for SDCGCBG: CCHS 2001 does not have don't know (7) or refusal (8)
#> NOTE for SDCGRES: CCHS 2001 missing don't know (7), refusal (8)
head(pct_time2009_2010)
#> DHHGAGE_cont SDCGCBG SDCGRES pct_time_der #> 1 13 1 NA(a) 100.00000 #> 2 27 2 2 55.55556 #> 3 62 1 NA(a) 100.00000 #> 4 52 1 NA(a) 100.00000 #> 5 67 1 NA(a) 100.00000 #> 6 62 1 NA(a) 100.00000
pct_time2011_2012 <- rec_with_table( cchs2011_2012_p, c( "DHHGAGE_cont", "SDCGCBG", "SDCGRES", "pct_time_der" ) )
#> No variable_details detected. #> Loading cchsflow variable_details
#> Using the passed data variable name as database_name
#> NOTE for SDCGCBG: CCHS 2001 does not have don't know (7) or refusal (8)
#> NOTE for SDCGRES: CCHS 2001 missing don't know (7), refusal (8)
tail(pct_time2011_2012)
#> DHHGAGE_cont SDCGCBG SDCGRES pct_time_der #> 195 72.0 2 2 20.83333 #> 196 22.0 1 NA(a) 100.00000 #> 197 18.5 1 NA(a) 100.00000 #> 198 42.0 2 2 35.71429 #> 199 62.0 1 NA(a) 100.00000 #> 200 52.0 1 NA(a) 100.00000
combined_pct_time <- merge_rec_data(pct_time2009_2010, pct_time2011_2012) head(combined_pct_time)
#> DHHGAGE_cont SDCGCBG SDCGRES pct_time_der #> 1 13 1 NA(a) 100.00000 #> 2 27 2 2 55.55556 #> 3 62 1 NA(a) 100.00000 #> 4 52 1 NA(a) 100.00000 #> 5 67 1 NA(a) 100.00000 #> 6 62 1 NA(a) 100.00000
tail(combined_pct_time)
#> DHHGAGE_cont SDCGCBG SDCGRES pct_time_der #> 395 72.0 2 2 20.83333 #> 396 22.0 1 NA(a) 100.00000 #> 397 18.5 1 NA(a) 100.00000 #> 398 42.0 2 2 35.71429 #> 399 62.0 1 NA(a) 100.00000 #> 400 52.0 1 NA(a) 100.00000
# Using pct_time_fun() to generate a value for percent time spent in Canada # with user inputted values Let's say you are 27 years old who was born # outside of Canada and have been living in Canada for less than 10 years. # Your estimated percent time spent in Canada can be calculated as follows: pct_time <- pct_time_fun(DHHGAGE_cont = 27, SDCGCBG = 2, SDCGRES = 1) print(pct_time)
#> [1] 16.66667