This function calculates a low drink score (step 1 only) for a respondent using Canada's Low-Risk Alcohol Drinking Guideline. The score is based solely on the number of standard drinks consumed per week and the respondent's sex. (Step 2, which would add additional points based on other drinking habits, is not included.).
Arguments
- CLC_SEX
integer An integer indicating the respondent's sex (1 for male, 2 for female).
- ALC_11
integer An integer indicating whether the respondent drank alcohol in the past year (1 for "Yes", 2 for "No").
- ALCDWKY
integer An integer representing the number of standard drinks consumed by the respondent in a week.
Value
integer The low drink score, with:
1 for "Low risk" (0 points),
2 for "Marginal risk" (1–2 points),
3 for "Medium risk" (3–4 points), and
4 for "High risk" (5–9 points). If inputs are invalid or out of bounds, the function returns a tagged NA.
Details
The scoring is determined by first allocating points (referred to as step1) based on the weekly
alcohol consumption and the respondent's sex:
If the respondent drank in the past year (ALC_11 == 1):
For ALCDWKY <= 10, assign 0 points.
For ALCDWKY > 10 and <= 15: assign 0 points for males (CLC_SEX == 1) and 1 point for females (CLC_SEX == 2).
For ALCDWKY > 15 and <= 20: assign 1 point for males and 3 points for females.
For ALCDWKY > 20: assign 3 points.
For respondents who did not drink in the past year (ALC_11 == 2), 0 points are assigned.
These step1 points are then mapped to the final categorical score as follows:
0 points -> score of 1 ("Low risk"),
1–2 points -> score of 2 ("Marginal risk"),
3–4 points -> score of 3 ("Medium risk"),
5–9 points -> score of 4 ("High risk").
This function implements Canada's Low-Risk Alcohol Drinking Guidelines (Step 1 only) to assess alcohol consumption risk. The scoring system considers both the quantity of alcohol consumed and biological sex differences in alcohol metabolism.
Risk Categories:
Low risk (0 points): Safe consumption levels
Marginal risk (1-2 points): Slightly elevated risk
Medium risk (3-4 points): Moderate health concerns
High risk (5-9 points): Significant health risks
Sex-Based Differences: Women generally have lower tolerance thresholds due to physiological differences in alcohol metabolism, reflected in the sex-specific point allocations.
Non-response Handling: Invalid inputs or survey non-response values result in tagged NA ("b").
Note
This function implements only Step 1 of the guidelines. Step 2 (additional drinking pattern assessments) is not included due to data limitations in the survey.
See also
low_drink_score_fun1() for extended categorization including former/never drinkers
Examples
# Scalar usage: Single respondent
# Example: A male respondent who drank in the past year and consumes 3 standard drinks per week.
low_drink_score_fun(CLC_SEX = 1, ALC_11 = 1, ALCDWKY = 3)
#> [1] 1
# Expected output: 1 (Low risk)
# Missing data examples showing tagged NA patterns
result <- low_drink_score_fun(CLC_SEX = 1, ALC_11 = 6, ALCDWKY = 5)
result # Shows: NA
#> [1] NA
haven::is_tagged_na(result, "a") # Shows: TRUE (confirms it's tagged NA(a))
#> [1] TRUE
format(result, tag = TRUE) # Shows: "NA(a)" (displays the tag)
#> [1] "NA"
result <- low_drink_score_fun(CLC_SEX = 1, ALC_11 = 7, ALCDWKY = 5)
result # Shows: NA
#> [1] NA
haven::is_tagged_na(result, "b") # Shows: TRUE (confirms it's tagged NA(b))
#> [1] TRUE
format(result, tag = TRUE) # Shows: "NA(b)" (displays the tag)
#> [1] "NA"
result <- low_drink_score_fun(CLC_SEX = 1, ALC_11 = 1, ALCDWKY = NA)
result # Shows: NA
#> [1] NA
haven::is_tagged_na(result, "b") # Shows: TRUE (confirms it's tagged NA(b))
#> [1] TRUE
format(result, tag = TRUE) # Shows: "NA(b)" (displays the tag)
#> [1] "NA"
# Multiple respondents
low_drink_score_fun(CLC_SEX = c(1, 2, 1), ALC_11 = c(1, 1, 2), ALCDWKY = c(3, 12, NA))
#> [1] 1 2 1
# Returns: c(1, 2, 1)
# Database usage: Applied to survey datasets
library(dplyr)
# dataset %>%
# mutate(low_drink_score = low_drink_score_fun(CLC_SEX, ALC_11, ALCDWKY))