Skip to contents

The goal of imf.data is to provide an interface to IMF Data via the IMF Data REST API.

Installation

Install the released version of remotes from CRAN:

install.packages("imf.data")

Usage

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 ]