The goal of imf.data is to provide an interface to IMF Data via the IMF Data REST API.
Install the released version of remotes from CRAN:
install.packages("imf.data")
library(imf.data)
# list all available time-series
list_datasets()
#> ID Description
#> 297 AFRREO Sub-Saharan Africa Regional Economic Outlook (AFRREO)
#> 41 AFRREO201410 Sub-Saharan Africa Regional Economic Outlook (AFRREO) October 2014
#> 110 AFRREO201504 Sub-Saharan Africa Regional Economic Outlook (AFRREO) April 2015
#> 58 AFRREO201510 Sub-Saharan Africa Regional Economic Outlook (AFRREO) October 2015
#> 78 AFRREO201604 Sub-Saharan Africa Regional Economic Outlook (AFRREO) April 2016
#> 21 AFRREO201610 Sub-Saharan Africa Regional Economic Outlook (AFRREO) October 2016
#> 34 AFRREO201704 Sub-Saharan Africa Regional Economic Outlook (AFRREO) April 2017
#> [ reached 'max' / getOption("max.print") -- omitted 316 rows ]
# load IFS time-series
IFS <- load_datasets("IFS")
# see possible values for dimension 'ref_area'
IFS$dimensions$ref_area
#> Value Description
#> 1 AF Afghanistan
#> 2 AL Albania
#> 3 DZ Algeria
#> 4 AD Andorra
#> 5 AO Angola
#> 6 AI Anguilla
#> 7 AG Antigua and Barbuda
#> [ reached 'max' / getOption("max.print") -- omitted 271 rows ]
# get time-series for GDP of Portugal, with Annual frequency
IFS$get_series(freq = "A", ref_area = "PT", indicator = "NGDP_D_IX")
#> TIME_PERIOD A.PT.NGDP_D_IX
#> 1 1995 65.121159550493
#> 2 1996 66.6781968283958
#> 3 1997 69.2687835398304
#> 4 1998 71.9183372769496
#> 5 1999 74.3423648876999
#> 6 2000 76.8850736800294
#> 7 2001 79.7421096759417
#> [ reached 'max' / getOption("max.print") -- omitted 21 rows ]
# load DOT time-series
DOT <- load_datasets("DOT")
DOT$get_series(freq = "M",
ref_area = "PT",
indicator = "TMG_CIF_USD",
counterpart_area = c("B0","W00"),
start_period = "2022-01-01",
end_period = "2022-12-31")
#> TIME_PERIOD M.PT.TMG_CIF_USD.B0 M.PT.TMG_CIF_USD.W00
#> 1 2022-01 5899.209507 8592.410482
#> 2 2022-02 6625.214152 9306.561169
#> 3 2022-03 7271.456185 10056.201211
#> 4 2022-04 6639.368158 9427.777556
#> 5 2022-05 7095.966482 10432.681421
#> [ reached 'max' / getOption("max.print") -- omitted 7 rows ]
HPDD <- load_datasets("HPDD")
HPDD$dimensions$indicator
#> Value Description
#> 1 GGXWDG_GDP Debt to GDP Ratio
HPDD$get_series(freq = "A",
ref_area = c("PT","ES"),
indicator = "GGXWDG_GDP",
start_period = "1974")
#> TIME_PERIOD A.PT.GGXWDG_GDP A.ES.GGXWDG_GDP
#> 1 1974 13.5038251401281 8.40504508036064
#> 2 1975 19.1667501320296 7.25030408773679
#> 3 1976 24.5259382117236 13.0038706110036
#> 4 1977 26.8756607793361 15.3279581608194
#> 5 1978 29.8913266186709 14.3281987356424
#> [ reached 'max' / getOption("max.print") -- omitted 37 rows ]