View source: R/attribute_lifetable.R
| attribute_lifetable | R Documentation |
This function assesses premature deaths or years of life lost (YLL) attributable to exposure to an environmental stressor using a life table approach.
attribute_lifetable(
age_group,
sex,
bhd_central,
bhd_lower = NULL,
bhd_upper = NULL,
population,
health_outcome = NULL,
min_age = NULL,
max_age = NULL,
approach_exposure = "single_year",
approach_newborns = "without_newborns",
year_of_analysis,
time_horizon = NULL,
exp_central = NULL,
exp_lower = NULL,
exp_upper = NULL,
cutoff_central = 0,
cutoff_lower = NULL,
cutoff_upper = NULL,
erf_eq_central = NULL,
erf_eq_lower = NULL,
erf_eq_upper = NULL,
rr_central = NULL,
rr_lower = NULL,
rr_upper = NULL,
rr_increment = NULL,
erf_shape = NULL,
prop_pop_exp = 1,
geo_id_micro = "a",
geo_id_macro = NULL,
info = NULL
)
age_group |
|
sex |
|
bhd_central, bhd_lower, bhd_upper |
|
population |
|
health_outcome |
|
min_age, max_age |
|
approach_exposure |
|
approach_newborns |
|
year_of_analysis |
|
time_horizon |
|
exp_central, exp_lower, exp_upper |
|
cutoff_central, cutoff_lower, cutoff_upper |
|
erf_eq_central, erf_eq_lower, erf_eq_upper |
|
rr_central, rr_lower, rr_upper |
|
rr_increment |
|
erf_shape |
|
prop_pop_exp |
|
geo_id_micro, geo_id_macro |
|
info |
|
Function arguments
age_group
The numeric values must refer to 1 year age groups, e.g. c(0:99).
To convert multi-year/larger age groups to 1 year age groups use the function prepare_lifetable()
(see its function documentation for more info).
bhd_central,bhd_lower,bhd_upper
Deaths per age must be inputted with 1 value per age (i.e. age group size = 1 year).
There must be greater than or equal to 1 deaths per age to avoid issues during the calculation of survival probabilities.
If zeros show up in the last ages (e.g. age 98 = 0 deaths, 99 years old = 1),
please sum the values and condensate last category (e.g. age 98 = 1).
population
The population data must be inputted with 1 value per age (i.e. age group size = 1 year).
The values must be greater than or equal to 1 per age to avoid issues during the calculation of survival probabilities.
Mid-year population of year x can be approximated as the mean of
either end-year populations of years x-1 and x or start-of-year populations of years x and x+1.
For each age, the inputted values must be greater than or equal to 1
to avoid issues during the calculation of survival probabilities.
approach_newborns
If "with_newborns" is selected, it is assumed that
for each year after the year of analysis n babies (population aged 0) are born.
time_horizon
Applicable for the following cases:
YLL: single_year or constant exposure
premature deaths: constant exposure
For example, if 10 is entered one is interested in the impacts of exposure
during the year of analysis and the next 9 years (= 10 years in total).
Default value: length of the numeric vector specified in the age_group argument.
min_age, max_age
The min_age default value 30 implies that all adults aged 30 or older
will be affected by the exposure;
max_age analogeously specifies the age above
which no health effects of the exposure are considered.
Methodology
The life table approach to obtain YLL and deaths requires population and baseline mortality data to be stratified by one year age groups. This function applies the same approach as the on applied in the WHO tool AirQ+ \insertCiteWHO2020_reporthealthiar, which is described in previous literature \insertCiteMiller2003_jechhealthiar.
Detailed information about the methodology (including equations) is available in the package vignette. More specifically, see chapters:
Conversion of multi-year to single year age groups
To convert multi-year/larger age groups to 1 year age groups,
use the healthiar function prepare_lifetable().
This function returns a list containing:
1) health_main (tibble) containing the main results;
impact (numeric column) attributable health burden/impact
pop_fraction (numeric column) population attributable fraction; only applicable in relative risk assessments
And many more
2) health_detailed (list) containing detailed (and interim) results.
input_args (list) containing all the argument inputs used in the background
input_table (tibble) containing the inputs after preparation
results_raw (tibble) containing results for all combinations of input (geo units, uncertainty, age and sex specific data...)
results_by_... (tibble) containing results stratified by each geographic unit, age or sex.
For this specific function, the return object health_detailed also
contains intermediate_calculations. This is a nested tibble
containing intermediate results, such as population projections and
impact by age/year.
Alberto Castro & Axel Luyten
Upstream:
prepare_exposure (only if no exposure data available)
Alternative: attribute_health,
get_paf, get_risk
Downstream: attribute_mod, compare,
daly, multiexpose,
standardize, monetize, socialize
# Goal: determine YLL attributable to air pollution exposure during one year
# using the life table approach
results <- attribute_lifetable(
health_outcome = "yll",
approach_exposure = "single_year",
approach_newborns = "without_newborns",
exp_central = 8.85,
prop_pop_exp = 1,
cutoff_central = 5,
rr_central = 1.118,
rr_increment = 10,
erf_shape = "log_linear",
age_group = exdat_lifetable$age_group,
sex = exdat_lifetable$sex,
bhd_central = exdat_lifetable$deaths,
population = exdat_lifetable$midyear_population,
year_of_analysis = 2019,
min_age = 20
)
results$health_main$impact # Attributable YLL
# Goal: determine attributable premature deaths due to air pollution exposure
# during one year using the life table approach
results_pm_deaths <- attribute_lifetable(
health_outcome = "deaths",
approach_exposure = "single_year",
exp_central = 8.85,
prop_pop_exp = 1,
cutoff_central = 5,
rr_central = 1.118,
rr_increment = 10,
erf_shape = "log_linear",
age_group = exdat_lifetable$age_group,
sex = exdat_lifetable$sex,
bhd_central = exdat_lifetable$deaths,
population = exdat_lifetable$midyear_population,
year_of_analysis = 2019,
min_age = 20
)
results_pm_deaths$health_main$impact # Attributable premature deaths
# Goal: determine YLL attributable to air pollution exposure (exposure distribution)
# during one year using the life table approach
results <- attribute_lifetable(
health_outcome = "yll",
exp_central = rep(c(8, 9, 10), each = 100*2), # each = length of sex or age_group vector
prop_pop_exp = rep(c(0.2, 0.3, 0.5), each = 100*2), # each = length of sex or age_group vector
cutoff_central = 5,
rr_central = 1.118,
rr_lower = 1.06,
rr_upper = 1.179,
rr_increment = 10,
erf_shape = "log_linear",
age_group = rep(
exdat_lifetable$age_group,
times = 3), # times = number of exposure categories
sex = rep(
exdat_lifetable$sex,
times = 3), # times = number of exposure categories
population = rep(
exdat_lifetable$midyear_population,
times = 3), # times = number of exposure categories
bhd_central = rep(
exdat_lifetable$deaths,
times = 3), # times = number of exposure categories
year_of_analysis = 2019,
min_age = 20
)
results$health_main$impact_rounded # Attributable YLL
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.