#' Catalogue number of the Detailed confirmed cases of coronavirus disease
#' (COVID-19) Statcan's data table.
statcan_covid_catalogue_number <- "13-10-0766-01"
#' Get data from the Detailed confirmed cases of coronavirus disease
#' (COVID-19)
#'
#' Download the dataset Detailed confirmed cases of coronavirus
#' disease (COVID-19) (Preliminary data), Canada and format it to be
#' easily usable.
#'
#' To get the more up to date data, pass the parameter `refresh =
#' TRUE` to the function.
#'
#' The returned data.table belongs to the S3 class `covdata`.
#'
#' @param \dots arguments passed to cansim::get_cansim.
#'
#' @export
getStatCan <- function(...)
## Retrieve data.
cansim::get_cansim(statcan_covid_catalogue_number, ...) %>%
data.table %>%
## Transform the data in long format.
.[,`Case identifier number` :=
as.factor(as.numeric(`Case identifier number`))] %>%
dcast(`Case identifier number` + `REF_DATE` ~ `Case information`,
value.var = "VALUE") %>%
## Label factors.
.[,Sex :=
factor(Sex,
levels = c(1, 2, 9),
labels = c("Male", "Female", "Not stated"))] %>%
.[,`Age group` :=
factor(`Age group`,
levels = c(1:8, 99),
labels = c("0-19",
"20-29",
"30-39",
"40-49",
"50-59",
"60-69",
"70-79",
"80+",
"Not stated"))] %>%
.[,Hospitalization :=
factor(Hospitalization,
levels = c(1, 2, 9),
labels = c("Yes", "No", "Not stated"))] %>%
.[,`Hospitalization, previous status` :=
factor(`Hospitalization, previous status`,
levels = c(1, 2, 9),
labels = c("Yes", "No", "Not stated"))] %>%
.[,Death :=
factor(Death,
levels = c(1, 2, 9),
labels = c("Yes", "No", "Not stated"))] %>%
.[,`Death, previous status` :=
factor(`Death, previous status`,
levels = c(1, 2, 9),
labels = c("Yes", "No", "Not stated"))] %>%
.[,`Intensive care unit` :=
factor(`Intensive care unit`,
levels = c(1, 2, 9),
labels = c("Yes", "No", "Not stated"))] %>%
.[,`Intensive care unit, previous status` :=
factor(`Intensive care unit, previous status`,
levels = c(1, 2, 9),
labels = c("Yes", "No", "Not stated"))] %>%
.[,Transmission :=
factor(Transmission,
levels = 1:3,
labels = c("Travel", "Community", "Pending"))] %>%
## Dates.
.[,`Episode date` :=
lubridate::ymd(paste(REF_DATE,
`Episode date - month`,
`Episode date - day`),
quiet = TRUE)] %>%
.[,`Update date` :=
lubridate::ymd(paste(REF_DATE,
`Date case was last updated - month`,
`Date case was last updated - day`))] %>%
.[,c("REF_DATE",
"Date case was last updated - day",
"Date case was last updated - month",
"Episode date - day",
"Episode date - month") := NULL] %>%
## Custom S3 class.
structure(class = c("covdata", class(.)))
#' Show the metadata for the Detailed confirmed cases of coronavirus
#' disease (COVID-19) table
#'
#' @export
statCan_info <- function() {
cansim::get_cansim_table_overview(statcan_covid_catalogue_number)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.