Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----setup--------------------------------------------------------------------
library(diseasystore)
## ----hidden_options, include = FALSE------------------------------------------
if (rlang::is_installed("withr")) {
withr::local_options(
"tibble.print_min" = 5,
"diseasystore.verbose" = FALSE,
"diseasystore.DiseasystoreEcdcRespiratoryViruses.pull" = FALSE
)
} else {
opts <- options(
"tibble.print_min" = 5,
"diseasystore.verbose" = FALSE,
"diseasystore.DiseasystoreEcdcRespiratoryViruses.pull" = FALSE
)
}
# We have a "hard" dependency for duckdb to render parts of this vignette
suggests_available <- rlang::is_installed("duckdb")
not_on_cran <- interactive() || identical(Sys.getenv("NOT_CRAN"), "true") ||
identical(Sys.getenv("CI"), "true")
## ----download_data, eval = FALSE----------------------------------------------
# # First we set the path we want to use as an option
# options(
# "diseasystore.DiseasystoreEcdcRespiratoryViruses.source_conn" =
# file.path("local", "path")
# )
#
# # Ensure folder exists
# source_conn <- diseasyoption("source_conn", "DiseasystoreEcdcRespiratoryViruses")
# if (!dir.exists(source_conn)) {
# dir.create(source_conn, recursive = TRUE, showWarnings = FALSE)
# }
#
# # Clone the repository
# system2(
# "git",
# args = c(
# paste("-C", source_conn),
# "clone https://github.com/EU-ECDC/Respiratory_viruses_weekly_data"
# ),
# stdout = TRUE
# )
## ----download_data_hidden, include = FALSE, eval = not_on_cran----------------
# In practice, it is best to make a local copy of the data which is
# stored in the "vignette_data" folder.
# This folder can either be in the package folder
# (preferred, please create the folder) or in the tempdir().
local_conn <- purrr::detect(
"vignette_data",
checkmate::test_directory_exists,
.default = tempdir()
)
if (rlang::is_installed("withr")) {
withr::local_options(
"diseasystore.DiseasystoreEcdcRespiratoryViruses.source_conn" = local_conn,
"diseasystore.DiseasystoreEcdcRespiratoryViruses.n_max" = 1000
)
} else {
opts <- c(
opts,
options(
"diseasystore.DiseasystoreEcdcRespiratoryViruses.source_conn" = local_conn,
"diseasystore.DiseasystoreEcdcRespiratoryViruses.n_max" = 1000
)
)
}
# Define the ECDC file to download
test_file <- "data/snapshots/2023-11-24_ILIARIRates.csv"
# Create folder and download file
dir.create(
dirname(file.path(local_conn, test_file)),
recursive = TRUE,
showWarnings = FALSE
)
if (!file.exists(file.path(local_conn, test_file))) {
remote_file <- source_conn_github(
diseasyoption("remote_conn", "DiseasystoreEcdcRespiratoryViruses"),
test_file
)
readr::read_csv(
remote_file,
n_max = 1000,
show_col_types = FALSE,
progress = FALSE
) |>
readr::write_csv(file.path(local_conn, test_file))
}
# Check that the files are available after attempting to download
files_missing <- purrr::some(
test_file,
~ !checkmate::test_file_exists(file.path(local_conn, .))
)
if (files_missing) {
data_available <- FALSE
} else {
data_available <- TRUE
}
## ----configure_diseasystore, eval = FALSE-------------------------------------
# # We define target_conn as a function that opens a DBIconnection to the DB
# target_conn <- \() DBI::dbConnect(duckdb::duckdb())
# options(
# "diseasystore.DiseasystoreEcdcRespiratoryViruses.target_conn" = target_conn
# )
## ----configure_diseasystore_hidden, include = FALSE, eval = not_on_cran && suggests_available && data_available----
target_conn <- \() DBI::dbConnect(duckdb::duckdb())
if (rlang::is_installed("withr")) {
withr::local_options(
"diseasystore.DiseasystoreEcdcRespiratoryViruses.target_conn" = target_conn
)
} else {
opts <- c(
opts,
options(
"diseasystore.DiseasystoreEcdcRespiratoryViruses.target_conn" = target_conn
)
)
}
## ----initializing_diseasystore, eval = not_on_cran && suggests_available && data_available----
ds <- DiseasystoreEcdcRespiratoryViruses$new()
## ----using_diseasystore_example_1, eval = not_on_cran && suggests_available && data_available----
# We can see all the available features in the feature store
ds$available_features
## ----using_diseasystore_example_2, eval = FALSE-------------------------------
# # Manually update the repository
# system2(
# "git",
# args = paste(
# "-C",
# diseasyoption("source_conn", "DiseasystoreEcdcRespiratoryViruses")
# ),
# stdout = TRUE
# )
#
# # Disable automatic pulls
# options("diseasystore.DiseasystoreEcdcRespiratoryViruses.pull" = FALSE)
## ----using_diseasystore_example_3, eval = not_on_cran && suggests_available && data_available----
# And then retrieve a feature from the feature store
ds$get_feature(
feature = "iliari_rates",
start_date = as.Date("2023-01-01"),
end_date = as.Date("2023-03-01")
)
## ----cleanup, include = FALSE-------------------------------------------------
if (exists("ds")) rm(ds)
gc()
if (!rlang::is_installed("withr")) {
options(opts)
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.