R/template_ctryslides.R

Defines functions template_Ctryslides

Documented in template_Ctryslides

# WARNING - Generated by {fusen} from /dev/dev_template.Rmd: do not edit by hand

# usethis::use_rmarkdown_template(
#   template_name = "country_slides",
#   template_dir = NULL,
#   template_description = "Slide Deck - Statistical Facts",
#   template_create_dir = TRUE
# )
#' Generate all country factsheet 
#' 
#' Output is PDF slide deck that preserves well the humanitarian icons
#' 
#' @param year Numeric value of the year (for instance 2022)
#' @param country_asylum_iso3c Character value with the ISO-3 character code of the Country 
#' @param folder folder within your project where to put the generated report. 
#'              Folder will be created if it does not exist
#' 
#' @importFrom unhcrdown html_slides
#' @importFrom dplyr filter select pull
#' @importFrom rmarkdown render
#' @importFrom here here
#' 
#' @return nothing the file for the report is generated
#' 
#' @export 
#'

#' @examples
#' ## generate for one country
#' # unhcrdatapackage::template_Ctryslides(year = 2022, 
#' #                             country_asylum_iso3c = "CHL",
#' #                             folder = "Report")
#' 
#' # ## Generate for a specific region
#' # region <- "Americas"
#' # year <- 2022
#' # library(tidyverse)
#' # ## get all countries with more than 1000 Reported individuals
#' # ctr <- dplyr::left_join( x= ForcedDisplacementStat::end_year_population_totals_long,
#' #                                 y= ForcedDisplacementStat::reference,
#' #                                 by = c("CountryAsylumCode" = "iso_3")) |>
#' #         filter(Year == year &
#' #                 UNHCRBureau == region ) |>
#' #         group_by( CountryAsylumName, CountryAsylumCode   ) |>
#' #         summarise(Value = sum(Value) ) |>
#' #         ungroup() |>
#' #         filter( Value  > 1000 )
#' # 
#' # for ( i in (1:nrow(ctr))) {
#' #     # i <- 1
#' #     country_asylum_iso3ci = as.character(ctr[i ,2 ])
#' #     cat(paste0(country_asylum_iso3ci, "\n"))
#' #     unhcrdatapackage::template_CtryFactsheet(year = 2022,
#' #                                 country_asylum_iso3c = country_asylum_iso3ci,
#' #                                folder = "docs/factsheet")  }
template_Ctryslides <- function(year = 2022,
                                   country_asylum_iso3c,   
                              folder = "Report") {
  
  ## Create the outfolder if it does not exist
  output_dir <- paste0(getwd(),"/",folder)
  if (!dir.exists(output_dir)) {dir.create(output_dir)}
  
  ctrname <- ForcedDisplacementStat::reference |>
             dplyr::filter( iso_3 == country_asylum_iso3c) |>
             dplyr::select(ctryname) |>
             dplyr::pull()
  
  rmarkdown::render(
    system.file("rmarkdown/templates/country_slides/skeleton/skeleton.Rmd", package = "unhcrdatapackage"),
    output_file = here::here(folder, paste0('StatFactsheet-', country_asylum_iso3c, '-', year, '.html') ),
    params = list(countryname= ctrname,
                  country = country_asylum_iso3c, 
                  year = year)  )
}
Edouard-Legoupil/unhcrdatapackage documentation built on Nov. 6, 2023, 6:10 p.m.