The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
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
::install_github("GlobalDataLab/R-data-api") devtools
To get started, include the gdldata
library:
library(gdldata)
Then create a GDL session object using your personal API access token, e.g.:
<- gdl_session("SUBSTITUTE-WITH-YOUR-ACCESS-TOKEN") sess
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:
<- set_indicator(sess, 'iwi')
sess <- set_country(sess, 'IND')
sess <- gdl_request(sess) iwi_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:
<- set_dataset(sess, 'shdi')
sess <- set_countries(sess, c('BEL', 'LUX', 'NLD'))
sess <- set_indicators(sess, c('healthindex', 'edindex', 'incindex'))
sess <- gdl_request(sess) shdi_benelux
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')) %>%
<- gdl_request(sess) shdi_benelux
Note that we could prepend gdl_session()
and append
gdl_request()
to the pipe chain as well. However, to
facilitate reuse of the session object, we recommend against this.
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:
gdl_indicators(session) # retrieves a list of indicators
gdl_levels(session) # retrieves a list of aggregation levels
gdl_countries(session) # retrieves a list of available countries
gdl_regions(session, iso3) # retrieves a list of regions in a particular country
We welcome bug reports and feature requests in our issue tracker on GitHub.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.