# lists.R
gas_grps <- c("CH4", "N2O", "HFCs", "PFCs", "SF6", "NF3")
gas_grps_2 <- c("CH4", "N2O", "F-GHGs")
gas_grp_2_ify <- function(gas_grp) {
# precheck: must be a character vector
gas_grp <- if(is.factor(gas_grp)) {as.character(gas_grp)} else gas_grp
res <- case_when(
gas_grp %in% c("F-GHGs", "HFCs", "PFCs", "SF6", "NF3") ~ "F-GHGs",
TRUE ~ gas_grp
)
res
}
sectors = c("Energy", "Industrial Processes", "Agriculture", "Waste")
factorize_proj <- function(proj, gas_lvl = "gas_grps") {
# prechecks
if (! gas_lvl %in% c("gas_grps", "gas_grps_2")) stop("Invalid designation for gas grouping.")
fac_gas <- switch(
gas_lvl,
"gas_grps" = mutate(proj,
gas = factor(gas, levels = gas_grps)),
"gas_grps_2" = mutate(proj,
gas = factor(gas_grp_2_ify(gas_grp = gas), levels = gas_grps_2))
)
res <- fac_gas %>%
mutate(sector = factor(sector, levels = sectors))
res
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.