Skip to contents

Classify capacity to perform activities of daily living (incl. meal preparation)

Usage

derive_adl_dcls(df)

Arguments

df

A data frame containing cleaned data for a survey cycle.

Value

A data frame with the same number of rows as df plus a new column ADL_DCLS indicating the respondent's functional capacity, where higher values reflect greater impairment.

Details

Intended for use with Follow-up 2 data, for which this variable was not derived by the data provider.

Examples

adl_tasks <- c("DR", "FD", "AP", "WK", "BD", "BT")
ial_tasks <- c("TEL", "TRV", "GRO", "WRK", "MED", "MO", "ML")
levels <- c("ABL", "HP", "UN")

col_names <- c(
  outer(levels, adl_tasks, \(level, task) paste0("ADL_", level, task)),
  outer(levels, ial_tasks, \(level, task) paste0("IAL_", level, task)),
  "ADL_BATH",
  "ADL_INCNT"
)

df <- setNames(
  data.frame(matrix(NA, nrow = 1, ncol = length(col_names))),
  col_names
) |>
  dplyr::mutate(
    entity_id = 1234567,
    # independence in all activities
    dplyr::across(.cols = dplyr::contains("ABL"), .fn = \(x) 1),
    ADL_BATH = 2
  )

derive_adl_dcls(df)
#>   entity_id ADL_ABLDR ADL_HPDR ADL_UNDR ADL_ABLFD ADL_HPFD ADL_UNFD ADL_ABLAP
#> 1   1234567         1       NA       NA         1       NA       NA         1
#>   ADL_HPAP ADL_UNAP ADL_ABLWK ADL_HPWK ADL_UNWK ADL_ABLBD ADL_HPBD ADL_UNBD
#> 1       NA       NA         1       NA       NA         1       NA       NA
#>   ADL_ABLBT ADL_HPBT ADL_UNBT IAL_ABLTEL IAL_HPTEL IAL_UNTEL IAL_ABLTRV
#> 1         1       NA       NA          1        NA        NA          1
#>   IAL_HPTRV IAL_UNTRV IAL_ABLGRO IAL_HPGRO IAL_UNGRO IAL_ABLWRK IAL_HPWRK
#> 1        NA        NA          1        NA        NA          1        NA
#>   IAL_UNWRK IAL_ABLMED IAL_HPMED IAL_UNMED IAL_ABLMO IAL_HPMO IAL_UNMO
#> 1        NA          1        NA        NA         1       NA       NA
#>   IAL_ABLML IAL_HPML IAL_UNML ADL_BATH ADL_INCNT ADL_DCLS
#> 1         1       NA       NA        2        NA        1