Retrieve datasets from the Global Data Lab (GDL) website directly into R data frames. Functions are provided to reference available options (indicators, regions, countries) as well.
To work with the gdldata package, an API access token is required. Such a token may be created for free on the Global Data Lab website. Simply log in, go to ‘My GDL’, and go to ‘API Access’.
Note that, by default, GDL only allows one active token per user. However, for academic purposes, this limit may be increased, e.g. to facilitate classroom settings.
# Install released version from CRAN install.packages("gdldata")
# Install development version from GitHub devtools::install_github("GlobalDataLab/R-data-api")
To get started, include the
Then create a GDL session object using your personal API access token, e.g.:
sess <- gdl_session("SUBSTITUTE-WITH-YOUR-ACCESS-TOKEN")
This session object can be used to build your next API request, and facilitates partial request reuse. For example, we can use it to retrieve the IWI indicator for India:
We can reuse the same session object to retrieve more data. For example, we reuse it to retrieve several SHDI indicators for Belgium, Luxembourg, and The Netherlands:
sess <- set_dataset(sess, 'shdi') sess <- set_countries(sess, c('BEL', 'LUX', 'NLD')) sess <- set_indicators(sess, c('healthindex', 'edindex', 'incindex')) shdi_benelux <- gdl_request(sess)
To reduce verbosity, popular pipe operators may be used as well. You can either use the built-in pipe operator
|> (R >= 4.1) or use the
%>% operator from
magrittr as a substitute. Consider the following example:
library(magrittr) sess <- sess %>% set_dataset('shdi') %>% set_countries(c('BEL', 'LUX', 'NLD')) %>% set_indicators(c('healthindex', 'edindex', 'incindex')) %>% shdi_benelux <- gdl_request(sess)
The GDL database may be explored fully without having to fall back to browsing the website. To this end, we provide the following reference functions:
We welcome bug reports and feature requests in our issue tracker on GitHub.