Skip to contents

Chains the concentration-response function, the attributable fraction and the baseline case count into annual attributable cases, as the GBD risk factor estimates do (GBD 2019 Risk Factors Collaborators 2020). Use it for a single population (a city, a region) when you know its mean exposure, its baseline rate and its size; for many areas at once see pollution_burden_by_area.

Usage

pollution_burden(
  exposure_mean,
  exposure_prevalence,
  baseline_rate,
  population,
  pollutant = "NO2",
  outcome = "all_cause_mortality",
  reference_conc = NULL,
  rare_outcome = FALSE,
  high_rate = FALSE
)

Arguments

exposure_mean

Mean exposure among the exposed (micrograms per cubic metre). With exposure_prevalence = 1 that is the population mean.

exposure_prevalence

Proportion of the population at that level (1 for ambient air), in [0, 1].

baseline_rate

Cases per person-year in the unexposed scenario (a rate per person, not per 100,000: 0.008 is 800 per 100,000).

population

At-risk population (persons; any non-negative number).

pollutant

"PM2.5" (also written "PM25") or "NO2", in either case.

outcome

Outcome key passed to the concentration-response function; extra$unit says whether the attributable count is deaths or incident cases.

reference_conc

Counterfactual concentration; NULL takes the pollutant's default (PM2.5 5.8, NO2 10; see crf_pm25).

rare_outcome, high_rate

TRUE to admit a baseline rate below 1e-5 (one per 100,000) or above 0.1 (10,000 per 100,000) per person-year, as verify_pollution does: without them such a rate is refused, being also what a rate in the wrong unit looks like.

Value

A list of class rmbl_burden (plot() draws it) with: paf (the attributable fraction), attributable_cases and baseline_cases (per year), population, baseline_rate (per person-year), exposure_mean, reference_conc (the one used), pollutant ("PM2.5" or "NO2"), citation (a string), and extra, a list with rr, log_rr, outcome and unit ("deaths" or "incident cases").

Details

The steps are: the relative risk at exposure_mean from crf_pm25 or crf_no2 (with the reference concentration given or the pollutant's default); the attributable fraction from attributable_fraction with exposure_prevalence; the baseline cases \(y_0 N\); and the attributable cases, their product. The result is a yearly count of deaths (or incident cases for "childhood_asthma").

Refusals: an unknown pollutant, an outcome the pollutant's CRF does not have, any input that is not a single finite non-negative number, and a baseline rate outside the band described in mortality_displaced unless rare_outcome or high_rate admits it.

References

GBD 2019 Risk Factors Collaborators (2020). Global burden of 87 risk factors in 204 countries and territories, 1990-2019. The Lancet 396(10258), 1223-1249.

Examples

# Ambient NO2 of 25 micrograms per cubic metre over a million people.
b <- pollution_burden(25, 1, 0.008, 1e6, pollutant = "NO2")
b$attributable_cases
#> [1] 234.1369
b$paf
#> [1] 0.02926711

# PM2.5 and ischaemic heart disease deaths, against the WHO guideline
# of 5 as the counterfactual.
pollution_burden(12, 1, 0.0012, 2.8e6, pollutant = "PM2.5", outcome = "ihd",
                 reference_conc = 5)$attributable_cases
#> [1] 1235.817

# Childhood asthma counts incident cases, not deaths.
pollution_burden(30, 1, 0.012, 5e5, outcome = "childhood_asthma")$extra$unit
#> [1] "incident cases"

# Only PM2.5 and NO2 have concentration-response functions here.
try(pollution_burden(40, 1, 0.008, 1e6, pollutant = "O3"))
#> Error : Unknown pollutant 'O3'. Use 'PM2.5' or 'NO2'.