diff --git a/DESCRIPTION b/DESCRIPTION index 88dcf5b6a4e9be1411ca9acd9641fac0b705ca32..52f3d259864007e430a35d4f376380395645c3f9 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -23,4 +23,4 @@ Suggests: rmarkdown, tinytest VignetteBuilder: knitr -RoxygenNote: 7.1.2 +RoxygenNote: 7.3.2 diff --git a/NEWS.md b/NEWS.md index 4375aae2958019661d9f2b8b97919ef9ac430f93..1ef831a4a2176b2bb47a2d4de222de1736bd0197 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,9 @@ +# rdbnomics 0.6.5 + +* Remove package option `api_version` and put version in `api_base_url` + (@cbenz, #3 github). +* Update the vignette (data and text). + # rdbnomics 0.6.4 * Update series name WEO to WEO:2019-10 and WEOAGG to WEOAGG:2019-10. diff --git a/R/dot_rdb.R b/R/dot_rdb.R index d022e1bffe6fbdab39bce49a71e589c8d1f0bcdc..4101c8edb30260df8836734f1a59178bac32d636 100644 --- a/R/dot_rdb.R +++ b/R/dot_rdb.R @@ -50,17 +50,17 @@ # Fetching data DBlist <- get_data(api_link, use_readLines, curl_config) - # Getting API version - api_version <- get_version(DBlist) - - if (api_version == 22) { - data_elt <- "docs" - } else { - stop( - paste0("Don't know what to do for API version ", api_version, "."), - call. = FALSE - ) - } + # # Getting API version + # api_version <- get_version(DBlist) + + # if (api_version == 22) { + data_elt <- "docs" + # } else { + # stop( + # paste0("Don't know what to do for API version ", api_version, "."), + # call. = FALSE + # ) + # } # If data is empty, return NULL if (is.data.frame(DBlist$series[[data_elt]])) { diff --git a/R/rdb.R b/R/rdb.R index 4260c48b86b0549d152cc60a8c3c4e6b101be298..be5d1000ce0a3b45af7ebee8a8f6d9a523a38837 100644 --- a/R/rdb.R +++ b/R/rdb.R @@ -213,18 +213,14 @@ rdb <- function( # Setting API url api_base_url <- getOption("rdbnomics.api_base_url") check_argument(api_base_url, "character") - - # Setting API version - api_version <- getOption("rdbnomics.api_version") - check_argument(api_version, c("numeric", "integer")) - authorized_version(api_version) + api_version <- get_version_from_url(api_base_url) # Setting API metadata metadata <- getOption("rdbnomics.metadata") check_argument(metadata, "logical") # Building API base url - api_base_url <- paste0(api_base_url, "/v", api_version, "/series") + api_base_url <- paste0(api_base_url, "/series") # Checking arguments provider_code_null <- is.null(provider_code) @@ -275,19 +271,19 @@ rdb <- function( if (api_link_not_null) { check_argument(api_link, "character", not_null = FALSE) - if (api_version == 22) { - return( - .rdb( - api_link = api_link, filters = filters, - use_readLines = use_readLines, curl_config = curl_config, ... - ) - ) - } else { - stop( - paste0("Don't know what to do for API version ", api_version, "."), - call. = FALSE + # if (api_version == 22) { + return( + .rdb( + api_link = api_link, filters = filters, + use_readLines = use_readLines, curl_config = curl_config, ... ) - } + ) + # } else { + # stop( + # paste0("Don't know what to do for API version ", api_version, "."), + # call. = FALSE + # ) + # } } # provider_code is considered as ids in some cases @@ -353,18 +349,20 @@ rdb <- function( api_base_url, "?provider_code=", provider_code, "&dataset_code=", dataset_code, "&dimensions=", dimensions ) - } else if (api_version == 22) { + } else { + # else if (api_version == 22) { link <- paste0( api_base_url, "/", provider_code, "/", dataset_code, ifelse(metadata, "?", paste0("?metadata=", as.numeric(metadata), "&")), "observations=1&dimensions=", dimensions ) - } else { - stop( - paste0("Don't know what to do for API version ", api_version, "."), - call. = FALSE - ) } + # else { + # stop( + # paste0("Don't know what to do for API version ", api_version, "."), + # call. = FALSE + # ) + # } return( .rdb( @@ -395,19 +393,21 @@ rdb <- function( api_base_url, "?provider_code=", provider_code, "&dataset_code=", dataset_code, "&series_code_mask=", mask ) - } else if (api_version == 22) { + } else { + # else if (api_version == 22) { link <- paste0( api_base_url, "/", provider_code, "/", dataset_code, "/", mask, ifelse(metadata, "?", paste0("?metadata=", as.numeric(metadata), "&")), "observations=1" ) - } else { - stop( - paste0("Don't know what to do for API version ", api_version, "."), - call. = FALSE - ) } + # else { + # stop( + # paste0("Don't know what to do for API version ", api_version, "."), + # call. = FALSE + # ) + # } return( .rdb( @@ -441,19 +441,21 @@ rdb <- function( link <- paste0( api_base_url, "?series_ids=", paste(ids, collapse = ",") ) - } else if (api_version == 22) { + } else { + # else if (api_version == 22) { link <- paste0( api_base_url, ifelse(metadata, "?", paste0("?metadata=", as.numeric(metadata), "&")), "observations=1&series_ids=", paste(ids, collapse = ",") ) - } else { - stop( - paste0("Don't know what to do for API version ", api_version, "."), - call. = FALSE - ) } + # else { + # stop( + # paste0("Don't know what to do for API version ", api_version, "."), + # call. = FALSE + # ) + # } return( .rdb( @@ -489,19 +491,19 @@ rdb <- function( } } - if (api_version == 22) { - link <- paste0( - api_base_url, "/", provider_code, "/", dataset_code, - "?q=", utils::URLencode(query), - ifelse(metadata, "&", paste0("&metadata=", as.numeric(metadata), "&")), - "observations=1" - ) - } else { - stop( - paste0("Don't know what to do for API version ", api_version, "."), - call. = FALSE - ) - } + # if (api_version == 22) { + link <- paste0( + api_base_url, "/", provider_code, "/", dataset_code, + "?q=", utils::URLencode(query), + ifelse(metadata, "&", paste0("&metadata=", as.numeric(metadata), "&")), + "observations=1" + ) + # } else { + # stop( + # paste0("Don't know what to do for API version ", api_version, "."), + # call. = FALSE + # ) + # } return( .rdb( diff --git a/R/rdb_datasets.R b/R/rdb_datasets.R index 83d31bb9dfb55f215b53cb27abcf40a8ca237e5b..c07f2fa2813bbe9ec57025c885757998cac0a722 100644 --- a/R/rdb_datasets.R +++ b/R/rdb_datasets.R @@ -88,11 +88,7 @@ rdb_datasets <- function( # Setting API url api_base_url <- getOption("rdbnomics.api_base_url") check_argument(api_base_url, "character") - - # Setting API version - api_version <- getOption("rdbnomics.api_version") - check_argument(api_version, c("numeric", "integer")) - authorized_version(api_version) + api_version <- get_version_from_url(api_base_url) # Fetching all datasets if (getOption("rdbnomics.progress_bar_datasets") & progress_bar) { @@ -103,7 +99,7 @@ rdb_datasets <- function( tryCatch({ pc <- provider_code[i] - tmp <- paste0(api_base_url, "/v", api_version, "/providers/", pc) + tmp <- paste0(api_base_url, "/providers/", pc) tmp <- get_data(tmp, use_readLines, curl_config) tmp <- tmp$category_tree tmp <- unpack(tmp) diff --git a/R/rdb_dimensions.R b/R/rdb_dimensions.R index cf652d3e7b28d5f7fdc299d85929c724fa93dce0..7bb0ca776e2c2ea5caf0fe4fd91403fa0b2fc862 100644 --- a/R/rdb_dimensions.R +++ b/R/rdb_dimensions.R @@ -110,11 +110,7 @@ rdb_dimensions <- function( # Setting API url api_base_url <- getOption("rdbnomics.api_base_url") check_argument(api_base_url, "character") - - # Setting API version - api_version <- getOption("rdbnomics.api_version") - check_argument(api_version, c("numeric", "integer")) - authorized_version(api_version) + api_version <- get_version_from_url(api_base_url) # Fetching all datasets dimensions <- sapply(provider_code, function(pc) { @@ -128,7 +124,7 @@ rdb_dimensions <- function( tryCatch({ dc <- dataset_code[[pc]][i] - tmp <- paste0(api_base_url, "/v", api_version, "/datasets/", pc, "/", dc) + tmp <- paste0(api_base_url, "/datasets/", pc, "/", dc) tmp <- get_data(tmp, use_readLines, curl_config) tmp1 <- tmp$datasets$docs$dimensions_labels diff --git a/R/rdb_last_updates.R b/R/rdb_last_updates.R index 0c1841bc2c34199727156783a1e9fa8625596ebc..93a5e7f0a59d6e820b5c5e136fd39360a30d5b3a 100644 --- a/R/rdb_last_updates.R +++ b/R/rdb_last_updates.R @@ -48,39 +48,35 @@ rdb_last_updates <- function( # Setting API url api_base_url <- getOption("rdbnomics.api_base_url") check_argument(api_base_url, "character") + api_version <- get_version_from_url(api_base_url) - # Setting API version - api_version <- getOption("rdbnomics.api_version") - check_argument(api_version, c("numeric", "integer")) - authorized_version(api_version) - - updates <- paste0(api_base_url, "/v", api_version, "/last-updates") + updates <- paste0(api_base_url, "/last-updates") updates <- get_data(updates, use_readLines, curl_config) - if (api_version == 22){ - n <- updates$datasets$num_found - lim <- updates$datasets$limit - updates <- updates$datasets$docs - data.table::setDT(updates) + # if (api_version == 22){ + n <- updates$datasets$num_found + lim <- updates$datasets$limit + updates <- updates$datasets$docs + data.table::setDT(updates) - if (all) { - sequence <- seq(0, floor(n / lim) * lim, lim) - updates <- lapply(sequence, function(x) { - link <- paste0( - api_base_url, "/v", api_version, "/last-updates?datasets.offset=", - x - ) - dataset <- get_data(link, use_readLines, curl_config) - data.table::setDT(dataset$datasets$docs) - }) - updates <- data.table::rbindlist(updates, use.names = TRUE, fill = TRUE) - } - } else { - stop( - paste0("Don't know what to do for API version ", api_version, "."), - call. = FALSE - ) + if (all) { + sequence <- seq(0, floor(n / lim) * lim, lim) + updates <- lapply(sequence, function(x) { + link <- paste0( + api_base_url, "/v", api_version, "/last-updates?datasets.offset=", + x + ) + dataset <- get_data(link, use_readLines, curl_config) + data.table::setDT(dataset$datasets$docs) + }) + updates <- data.table::rbindlist(updates, use.names = TRUE, fill = TRUE) } + # } else { + # stop( + # paste0("Don't know what to do for API version ", api_version, "."), + # call. = FALSE + # ) + # } transform_date_timestamp(updates) diff --git a/R/rdb_providers.R b/R/rdb_providers.R index fc4bff4665f73af6e858cc92e792a32086150ec4..89ab1c39b7fda1ae732ec705180b3ec0ed3d1d07 100644 --- a/R/rdb_providers.R +++ b/R/rdb_providers.R @@ -49,13 +49,9 @@ rdb_providers <- function( # Setting API url api_base_url <- getOption("rdbnomics.api_base_url") check_argument(api_base_url, "character") + api_version <- get_version_from_url(api_base_url) - # Setting API version - api_version <- getOption("rdbnomics.api_version") - check_argument(api_version, c("numeric", "integer")) - authorized_version(api_version) - - providers <- paste0(api_base_url, "/v", api_version, "/providers") + providers <- paste0(api_base_url, "/providers") providers <- get_data(providers, use_readLines, curl_config) providers <- providers$providers$docs data.table::setDT(providers) diff --git a/R/rdb_series.R b/R/rdb_series.R index 742b60da45f7fb40366a5931d0fafb71bb234a65..7ada06f174a4b0f75d32668f53c022a7e4e7eaa9 100644 --- a/R/rdb_series.R +++ b/R/rdb_series.R @@ -138,11 +138,7 @@ rdb_series <- function( # Setting API url api_base_url <- getOption("rdbnomics.api_base_url") check_argument(api_base_url, "character") - - # Setting API version - api_version <- getOption("rdbnomics.api_version") - check_argument(api_version, c("numeric", "integer")) - authorized_version(api_version) + api_version <- get_version_from_url(api_base_url) # Fetching all datasets series <- sapply(provider_code, function(pc) { @@ -157,7 +153,7 @@ rdb_series <- function( dc <- dataset_code[[pc]][i] api_link <- paste0( - api_base_url, "/v", api_version, "/series/", pc, "/", dc + api_base_url, "/series/", pc, "/", dc ) if (query_not_null) { api_link <- paste0(api_link, "?q=", utils::URLencode(query)) diff --git a/R/rdbnomics.R b/R/rdbnomics.R index ed875e27a7bdf013fc4c4c14ec87e47a6e3ff614..8ddadf56a838d7bfd257062f959c11d537f9f290 100644 --- a/R/rdbnomics.R +++ b/R/rdbnomics.R @@ -2,7 +2,6 @@ #' #' DBnomics R client (<https://db.nomics.world/>). #' -#' @docType package #' @name rdbnomics #' #' @import curl jsonlite data.table @@ -17,4 +16,6 @@ if (getRversion() >= "2.15.1") { "dataset_code", "EQUAL" ) utils::globalVariables(unique(vars)) -} \ No newline at end of file +} + +"_PACKAGE" \ No newline at end of file diff --git a/R/sysdata.rda b/R/sysdata.rda index 9a10f110278a3e9a946829c69a74607fbffaa247..f3ef66ff88b5eef2a7bf3006ee617c3ee93bb64d 100644 Binary files a/R/sysdata.rda and b/R/sysdata.rda differ diff --git a/R/utils.R b/R/utils.R index 6376ad789188e419ab99877e55c58c9369535aa8..f981776f71b248d3aca75c6939febc66ba7b6ad7 100644 --- a/R/utils.R +++ b/R/utils.R @@ -1009,3 +1009,16 @@ additional_info <- function(x) { list(additional_geo_column, additional_geo_mapping) } + +#------------------------------------------------------------------------------- +# get_version_from_url +get_version_from_url <- function(x) { + api_version <- gsub(".*/v", "", x) + api_version <- suppressWarnings(as.numeric(api_version)) + + if (is.na(api_version)) { + return(0) + } + + api_version +} diff --git a/R/zzz.R b/R/zzz.R index ad2212894d405109c540b784bd81085b13e27e21..e7373779a2bca4d898bfc8fb16530337728286f3 100644 --- a/R/zzz.R +++ b/R/zzz.R @@ -25,9 +25,8 @@ rdbnomics.sleep_run = 1L, rdbnomics.try_run = 2L, rdbnomics.verbose_warning = TRUE, - rdbnomics.api_base_url = "https://api.db.nomics.world", + rdbnomics.api_base_url = "https://api.db.nomics.world/v22", rdbnomics.editor_base_url = "https://editor.nomics.world", - rdbnomics.api_version = 22, rdbnomics.editor_version = 1, rdbnomics.authorized_api_version = c(21, 22), rdbnomics.verbose_warning_readLines = FALSE, diff --git a/man/rdbnomics.Rd b/man/rdbnomics.Rd index 33a3b2c26c4c5bb8ca9abd2b596da39abb3ce471..77ab18ed54d0bc78901156bd20e639c6779e8448 100644 --- a/man/rdbnomics.Rd +++ b/man/rdbnomics.Rd @@ -1,6 +1,5 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/rdbnomics.R -\docType{package} \name{rdbnomics} \alias{rdbnomics} \title{Package rdbnomics} diff --git a/vignettes/dbnomics001.png b/vignettes/dbnomics001.png index 9f716bbd15d0e95e0336a6d5301df1d8885b6e0d..844b071b5ddb11e42cdfdd62a708277f1c50af09 100644 Binary files a/vignettes/dbnomics001.png and b/vignettes/dbnomics001.png differ diff --git a/vignettes/dbnomics002.png b/vignettes/dbnomics002.png index dc872e62a57061c5ce0859995dbee9bb61dbbd0f..e6d7734a986cc222df371d14722b2cbba88a4a9c 100644 Binary files a/vignettes/dbnomics002.png and b/vignettes/dbnomics002.png differ diff --git a/vignettes/dbnomics003.png b/vignettes/dbnomics003.png index 710d1ae74359a7774608416bd16a360573b46438..f650042c1cde18d4dc74c31bbc2b9a204111b257 100644 Binary files a/vignettes/dbnomics003.png and b/vignettes/dbnomics003.png differ diff --git a/vignettes/dbnomics005.png b/vignettes/dbnomics005.png index 290192ed0b837aac3938323fdb1fe157597a0ecb..792d4edb78fa6cc55bc9c533e14c5e50814f891c 100644 Binary files a/vignettes/dbnomics005.png and b/vignettes/dbnomics005.png differ diff --git a/vignettes/rdbnomics.Rmd b/vignettes/rdbnomics.Rmd index c1ae08d2a3b52ff448e4c8bc24df01366bd98b5c..76b15a21d1da8552badb36807682977cb4d0b237 100644 --- a/vignettes/rdbnomics.Rmd +++ b/vignettes/rdbnomics.Rmd @@ -1,6 +1,6 @@ --- title: "DBnomics R client" -author: "Sébastien Galais^[Banque de France, [https://github.com/s915](https://github.com/s915)], Thomas Brand^[CEPREMAP]" +author: "Sébastien Galais^[Scope Group, [https://github.com/s915](https://github.com/s915)], Thomas Brand^[[CEPREMAP](https://www.cepremap.fr/)]" output: html_document: highlight: default @@ -38,7 +38,7 @@ h4.date { /* Header 4 - and the author and data headers use this too */ # DBnomics: the world's economic database Explore all the economic data from different providers (national and international statistical institutes, central banks, etc.), for free, following the link [db.nomics.world](https://db.nomics.world) -(*N.B.: in the examples, data have already been retrieved on april 6<sup>th</sup> 2020*). +(*N.B.: in the examples, data have already been retrieved on July 11<sup>th</sup> 2024*). [](https://db.nomics.world) @@ -237,7 +237,7 @@ mtext( ## Fetch two series from different datasets of different providers ```{r, eval = FALSE} -df <- rdb(ids = c("AMECO/ZUTN/EA19.1.0.0.0.ZUTN", "Eurostat/une_rt_q/Q.SA.Y15-24.PC_ACT.T.EA19")) +df <- rdb(ids = c("AMECO/ZUTN/EA19.1.0.0.0.ZUTN", "Eurostat/une_rt_q/Q.SA.Y15-74.PC_ACT.T.EA19")) df <- df[!is.na(value)] ``` ```{r, eval = TRUE, echo = FALSE} @@ -553,11 +553,8 @@ mtext( ## Fetch several values of several dimensions from dataset 'Doing business' (DB) of World Bank ```{r, eval = FALSE} -df <- rdb("WB", "DB", dimensions = list(country = c("DZ", "PE"), indicator = c("ENF.CONT.COEN.COST.ZS", "IC.REG.COST.PC.FE.ZS"))) +df <- rdb("WB", "DBS", dimensions = list(country = c("DZA", "PER"), frequency = "A", indicator = c("ENF.CONT.COEN.COST.ZS", "IC.REG.COST.PC.FE.ZS"))) df <- df[!is.na(value))] -# or -# df <- rdb("WB", "DB", dimensions = '{"country": ["DZ", "PE"], "indicator": ["ENF.CONT.COEN.COST.ZS", "IC.REG.COST.PC.FE.ZS"]}') -# df <- df[!is.na(value))] ``` ```{r, eval = TRUE, echo = FALSE} df <- rdbnomics:::rdbnomics_df010 @@ -731,18 +728,18 @@ mtext( When you don't know the codes of the dimensions, provider, dataset or series, you can: -- go to the page of a dataset on [DBnomics website](https://db.nomics.world), for example [Doing Business](https://db.nomics.world/WB/DB), +- go to the page of a dataset on [DBnomics website](https://db.nomics.world), for example [Doing Business](https://db.nomics.world/WB/DBS), - select some dimensions by using the input widgets of the left column,  -- click on "*Copy API link*" in the menu of the "*Download*" button, +- click on "*Links*" and "*API link for this dataset*",  - use the `rdb(api_link = ...)` function such as below. ```{r, eval = FALSE} -df <- rdb(api_link = "https://api.db.nomics.world/v22/series/WB/DB?dimensions=%7B%22country%22%3A%5B%22FR%22%2C%22IT%22%2C%22ES%22%5D%7D&q=IC.REG.PROC.FE.NO&observations=1&format=json&align_periods=1&offset=0&facets=0") +df <- rdb(api_link = "https://api.db.nomics.world/v22/series/WB/DBS?dimensions=%7B%22country%22%3A%5B%22ESP%22%2C%22FRA%22%2C%22ITA%22%5D%2C%22frequency%22%3A%5B%22A%22%5D%7D&facets=1&format=json&limit=1000&observations=1&q=IC.REG.PROC.FE.NO") df <- df[!is.na(value))] ``` ```{r, eval = TRUE, echo = FALSE} @@ -798,81 +795,7 @@ mtext( In the event that you only use the argument `api_link`, you can drop the name and run: ```{r, eval = FALSE} -df <- rdb("https://api.db.nomics.world/v22/series/WB/DB?dimensions=%7B%22country%22%3A%5B%22FR%22%2C%22IT%22%2C%22ES%22%5D%7D&q=IC.REG.PROC.FE.NO&observations=1&format=json&align_periods=1&offset=0&facets=0") -``` - -# Fetch time series from the cart - -On the cart page of the [DBnomics website](https://db.nomics.world), click on "*Copy API link*" and copy-paste it as an argument of the `rdb(api_link = ...)` function. Please note that when you update your cart, you have to copy this link again, because the link itself contains the ids of the series in the cart. -<center> - -</center> - -```{r, eval = FALSE} -df <- rdb(api_link = "https://api.db.nomics.world/v22/series?observations=1&series_ids=BOE/6008/RPMTDDC,BOE/6231/RPMTBVE") -df <- df[!is.na(value))] -``` -```{r, eval = TRUE, echo = FALSE} -df <- rdbnomics:::rdbnomics_df012 -data.table::setDT(df) -``` - -```{r, echo = FALSE} -df[ - , - series_name := sapply( - series_name, - function(y) { - paste0( - paste0( - strsplit(y, "institutions' ")[[1]], collapse = "institutions'\n" - ), - "\n" - ) - } - ) - ] -``` - -```{r, echo = FALSE} -df <- df[order(period, series_name)] -df <- reorder_cols(df) -display_table(df) -``` - -```{r, echo = FALSE, fig.align = 'center'} -# ggplot(df, aes(x = period, y = value, color = series_name)) + -# geom_line(size = 1.2) + -# geom_point(size = 2) + -# dbnomics() -i <- 1 -x1 <- df[series_name == sort(unique(series_name))[i]]$period -y1 <- df[series_name == sort(unique(series_name))[i]]$value -i <- 2 -x2 <- df[series_name == sort(unique(series_name))[i]]$period -y2 <- df[series_name == sort(unique(series_name))[i]]$value -cols <- c("red", "blue", "darkgreen") -PCH <- 18 - -plot( - x1, y1, col = cols[1], type = "l", xlab = "", ylab = "", - xlim = c(min(df$period), max(df$period)), - ylim = c(min(df$value) - 4*10^3, max(df$value)), - panel.first = grid(lty = 1) -) -points(x1, y1, col = cols[1], pch = PCH) -lines(x2, y2, col = cols[2], type = "l") -points(x2, y2, col = cols[2], pch = PCH) -legend( - "bottomleft", inset = 0.005, - legend = sort(unique(df$series_name)), - col = cols, - lty = 1, pch = PCH, box.lty = 0, cex = 0.7 -) -mtext( - text = "DBnomics <https://db.nomics.world>", - side = 3, col = "grey", font = 3, adj = 1 -) +df <- rdb("https://api.db.nomics.world/v22/series/WB/DBS?dimensions=%7B%22country%22%3A%5B%22ESP%22%2C%22FRA%22%2C%22ITA%22%5D%2C%22frequency%22%3A%5B%22A%22%5D%7D&facets=1&format=json&limit=1000&observations=1&q=IC.REG.PROC.FE.NO") ``` # Fetch the available datasets of a provider @@ -989,9 +912,9 @@ dimensions. To do this, you have to set the arguments <b><font color='red'>⚠</font></b> It's relatively long to run and heavy to show so we display the first 100. ```{r, eval = FALSE} -options(rdbnomics.progress_bar_datasets = TRUE) +options(rdbnomics.progress_bar_dimensions = TRUE) rdb_dimensions() -options(rdbnomics.progress_bar_datasets = FALSE) +options(rdbnomics.progress_bar_dimensions = FALSE) ``` ```{r, eval = TRUE, echo = FALSE} DT <- rdbnomics:::rdbnomics_df022