This function downloads the requested information using the World Bank API
wb( country = "all", indicator, startdate, enddate, mrv, return_wide = FALSE, gapfill, freq, cache, lang = c("en", "es", "fr", "ar", "zh"), removeNA = TRUE, POSIXct = FALSE, include_dec = FALSE, include_unit = FALSE, include_obsStatus = FALSE, include_lastUpdated = FALSE )
country | Character vector of country or region codes. Default value is special code of |
---|---|
indicator | Character vector of indicator codes. These codes correspond to the |
startdate | Numeric or character. If numeric it must be in %Y form (i.e. four digit year). For data at the subannual granularity the API supports a format as follows: for monthly data, "2016M01" and for quarterly data, "2016Q1". This also accepts a special value of "YTD", useful for more frequently updated subannual indicators. |
enddate | Numeric or character. If numeric it must be in %Y form (i.e. four digit year). For data at the subannual granularity the API supports a format as follows: for monthly data, "2016M01" and for quarterly data, "2016Q1". |
mrv | Numeric. The number of Most Recent Values to return. A replacement of |
return_wide | Logical. If |
gapfill | Logical. Works with |
freq | Character String. For fetching quarterly ("Q"), monthly("M") or yearly ("Y") values.
Currently works along with |
cache | List of data frames returned from |
lang | Language in which to return the results. If |
removeNA | if |
POSIXct | if |
include_dec | if |
include_unit | if |
include_obsStatus | if |
include_lastUpdated | if |
Data frame with all available requested data.
Not all data returns have support for langauges other than english. If the specific return
does not support your requested language by default it will return NA
. For an enumeration of
supported languages by data source please see wbdatacatalog
.
The options for lang
are:
en
: English
es
: Spanish
fr
: French
ar
: Arabic
zh
: Mandarin
The POSIXct
parameter requries the use of lubridate
(>= 1.5.0). All dates
are rounded down to the floor. For example a value for the year 2016 would have a POSIXct
date of
2016-01-01
. If this package is not available and the POSIXct
parameter is set to TRUE
,
the parameter is ignored and a warning
is produced.
The include_dec
, include_unit
, and include_obsStatus
are defaulted to FALSE
because as of writing, all returns have a value of 0
, NA
, and NA
, respectively.
These columns might be used in the future by the API, therefore the option to include the column is available.
The include_lastUpdated
is defaulted to FALSE
as well to limit the
If there is no data available that matches the request parameters, an empty data frame is returned along with a
warning
. This design is for easy aggregation of multiple calls.
# GDP at market prices (current US$) for all available countries and regions wb(indicator = "NY.GDP.MKTP.CD", startdate = 2000, enddate = 2016) # GDP and Population in long format for the most recent 20 observations wb(indicator = c("SP.POP.TOTL","NY.GDP.MKTP.CD"), mrv = 20) # GDP and Population in wide format for the most recent 20 observations wb(indicator = c("SP.POP.TOTL","NY.GDP.MKTP.CD"), mrv = 20, return_wide = TRUE) # query using regionID or incomeID # High Income Countries and Sub-Saharan Africa (all income levels) wb(country = c("HIC", "SSF"), indicator = "NY.GDP.MKTP.CD", startdate = 1985, enddate = 1985) # if you do not know when the latest time an indicator is avaiable mrv can help wb(country = c("IN"), indicator = 'EG.ELC.ACCS.ZS', mrv = 1) # increase the mrv value to increase the number of maximum number of returns wb(country = c("IN"), indicator = 'EG.ELC.ACCS.ZS', mrv = 35) # GDP at market prices (current US$) for only available countries wb(country = "countries_only", indicator = "NY.GDP.MKTP.CD", startdate = 2000, enddate = 2016) # GDP at market prices (current US$) for only available aggregate regions wb(country = "aggregates", indicator = "NY.GDP.MKTP.CD", startdate = 2000, enddate = 2016) # if you want to "fill-in" the values in between actual observations use gapfill = TRUE # this highlights a very important difference. # all other parameters are the same as above, except gapfill = TRUE # and the results are very different wb(country = c("IN"), indicator = 'EG.ELC.ACCS.ZS', mrv = 35, gapfill = TRUE) # if you want the most recent values within a certain time frame wb(country = c("US"), indicator = 'SI.DST.04TH.20', startdate = 1970, enddate = 2000, mrv = 2) # without the freq parameter the deafult temporal granularity search is yearly # should return the 12 most recent years of data wb(country = c("CHN", "IND"), indicator = "DPANUSSPF", mrv = 12) # if another frequency is available for that indicator it can be accessed using the freq parameter # should return the 12 most recent months of data wb(country = c("CHN", "IND"), indicator = "DPANUSSPF", mrv = 12, freq = "M")