#' Scenario COVID rapid return to normal
#'
#' `scenario_covid_rapid_return()` creates a scenario where there is a rapid
#' return to the pre-pandemic situation after a dip due to COVID-19.
#'
#' In details, the AROC between the `start_year` and `covid_year` - 1 is
#' applied to the last reported value to `recovery_year` onward. If there are
#' missing values between `covid_year` and `recovery_year`, the last value from
#' `covid_year` is carried forward. This applies only to countries where the
#' indicator value for `covid_year` is `reported` or `estimated`. Otherwise,
#' the value is carried with `scenario_bau`.
#'
#' @inheritParams trim_values
#' @inheritParams transform_hpop_data
#' @inheritParams recycle_data
#' @inheritParams scenario_aroc
#' @param covid_year (integer) year where the values are impacted by COVID.
#' @param recovery_year integer year from which the AROC will be applied. Default to 2022.
#' @param scenario name of scenario column to be created
#' @param scenario_name name of scenario
#' @param ... additional parameters to be passed to
#' `scenario_dip_recover_iso3()`
#'
#' @return a data frame with scenario values in `value_col` with a `scenario_col` column.
#'
#' @family scenario_covid
#'
#' @keywords internal
#'
scenario_covid_rapid_return <- function(df,
start_year = 2018,
covid_year = 2020,
recovery_year = 2022,
end_year = 2025,
value_col = "value",
scenario_col = "scenario",
scenario_name = "covid_rapid_return",
ind_ids = billion_ind_codes("all"),
default_scenario = "default",
...){
assert_columns(df, "year", "iso3", "ind", value_col, scenario_col)
params <- rlang::list2(...)
rlang::exec(scenario_dip_recover,
df = df,
start_year = start_year,
dip_year = covid_year,
recovery_year = recovery_year,
end_year = end_year,
value_col = value_col,
scenario_col = scenario_col,
scenario_name = scenario_name,
default_scenario = "default",
!!!params
)
}
#' Scenario COVID never return to normal
#'
#' `scenario_covid_rapid_return()` creates a scenario where there is no
#' return to the pre-pandemic situation.
#'
#' In details, the last value from `covid_year` is carried forward.
#' This applies only to countries where the indicator value for
#' `covid_year` is `reported` or `estimated`. Otherwise, the value
#' is carried with `scenario_bau`.
#'
#' @inheritParams trim_values
#' @inheritParams transform_hpop_data
#' @inheritParams recycle_data
#' @inheritParams scenario_aroc
#' @param covid_year (integer) year where the values are impacted by COVID.
#' @param recovery_year integer year from which the AROC will be applied. Default to 2060.
#' @param scenario_col name of scenario column to be created
#' @param scenario_name name of scenario
#' @param ... additional parameters to be passed to
#' `scenario_dip_recover_iso3()`
#'
#' @return a data frame with scenario values in `value_col` with a `scenario_col` column.
#'
#' @family scenario_covid
#'
#' @keywords internal
#'
scenario_covid_never_return <- function(df,
start_year = 2018,
covid_year = 2020,
recovery_year = 2060,
end_year = 2025,
value_col = "value",
scenario_col = "scenario",
scenario_name = "covid_never_return",
ind_ids = billion_ind_codes("all"),
default_scenario = "default",
...) {
assert_columns(df, "year", "iso3", "ind", value_col, scenario_col)
params <- get_right_parameters(rlang::list2(...), scenario_dip_recover_iso3)
rlang::exec(scenario_dip_recover,
df = df,
start_year = start_year,
dip_year = covid_year,
recovery_year = recovery_year,
end_year = end_year,
value_col = value_col,
scenario_col = scenario_col,
scenario_name = scenario_name,
default_scenario = "default",
!!!params
)
}
#' Scenario COVID delayed return to normal
#'
#' `scenario_covid_delayed_return()` creates a scenario where there is a
#' a delayed by number for years between `covid_year` and `recovery_year` before
#' returning to the pre-pandemic situation.
#'
#' In details, the AROC between the `start_year` and `covid_year` - 1 is
#' applied to the last reported value to `recovery_year` onward. If there are
#' missing values between `covid_year` and `recovery_year`, the last value from
#' `covid_year` is carried forward. This applies only to countries where the
#' indicator value for `covid_year` is `reported` or `estimated`. Otherwise, the
#' value is carried with `scenario_bau`.
#'
#' @inheritParams trim_values
#' @inheritParams transform_hpop_data
#' @inheritParams recycle_data
#' @inheritParams scenario_aroc
#' @param covid_year (integer) year where the values are impacted by COVID.
#' @param recovery_year integer year from which the AROC will be applied. Default to 2023.
#' @param scenario_col name of scenario column to be created
#' @param scenario_name name of scenario
#' @param ... additional parameters to be passed to
#' `scenario_dip_recover_iso3()`
#'
#' @return a data frame with scenario values in `value_col` with a `scenario_col` column.
#'
#' @family scenario_covid
#'
#' @keywords internal
scenario_covid_delayed_return <- function(df,
start_year = 2018,
covid_year = 2020,
recovery_year = 2023,
end_year = 2025,
value_col = "value",
scenario_col = "scenario",
scenario_name = "covid_delayed_return",
ind_ids = billion_ind_codes("all"),
default_scenario = "default",
...){
assert_columns(df, "year", "iso3", "ind", value_col, scenario_col)
params <- get_right_parameters(list(...), scenario_dip_recover_iso3)
rlang::exec(scenario_dip_recover,
df = df,
start_year = start_year,
dip_year = covid_year,
recovery_year = recovery_year,
end_year = end_year,
value_col = value_col,
scenario_col = scenario_col,
scenario_name = scenario_name,
default_scenario = "default",
!!!params
)
}
#' Scenario COVID sustained disruption to normal
#'
#' `scenario_covid_delayed_return()` creates a scenario where there is a
#' a delayed by one year before progressivelly returning to the pre-pendemic
#' situation.
#'
#' In details, the AROC between the `start_year` and `covid_year` - 1 is
#' applied to the last reported value to `recovery_year` onward in a progressive
#' way: full AROC is only applied at `end_year`; otherwise the recovery is
#' spread between the years between `recovery_year` and `end_year`. For
#' instance, if `recovery_year` is 2021 and `end_year` 2025, then 2021 will have 0%
#' of AROC, 2022 25%, 2023 50%, 2024 75%, and 2025 100%.
#' If there are missing values between `covid_year` and `recovery_year`, the
#' last value from `covid_year` is carried forward. This applies only to
#' countries where the indicator value for `covid_year` is `reported` or
#' `estimated`. Otherwise, the value is carried with `scenario_bau`.
#'
#' @inheritParams trim_values
#' @inheritParams transform_hpop_data
#' @inheritParams recycle_data
#' @inheritParams scenario_aroc
#' @param progressive_recovery (logical) TRUE if the recovery after COVID-19
#' should be progressive.
#' @param covid_year (integer) year where the values are impacted by COVID.
#' @param recovery_year integer year from which the AROC will be applied. Default to 2022.
#' @param scenario_col name of scenario column to be created
#' @param scenario_name name of scenario
#' @param ... additional parameters to be passed to
#' `scenario_dip_recover_iso3()`
#'
#' @return a data frame with scenario values in `value_col` with a `scenario_col` column.
#'
#' @family scenario_covid
#'
#' @keywords internal
#'
scenario_covid_sustained_disruption <- function(df,
start_year = 2018,
covid_year = 2020,
recovery_year = 2022,
progressive_recovery = TRUE,
end_year = 2025,
value_col = "value",
scenario_col = "scenario",
scenario_name = "covid_sustained_disruption",
ind_ids = billion_ind_codes("all"),
default_scenario = "default",
...){
assert_columns(df, "year", "iso3", "ind", value_col, scenario_col)
params <- get_right_parameters(rlang::list2(...), scenario_dip_recover_iso3)
rlang::exec(scenario_dip_recover,
df = df,
start_year = start_year,
dip_year = covid_year,
recovery_year = recovery_year,
progressive_recovery = progressive_recovery,
end_year = end_year,
value_col = value_col,
scenario_col = scenario_col,
scenario_name = scenario_name,
default_scenario = "default",
!!!params
)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.