imf.data provides an R interface to the IMF
SDMX 3.0 API. It supports discovering datasets, inspecting their
dimensions, and downloading observations as tidy data frames. Raw SDMX
responses are also available for advanced use.
Install imf.data from CRAN:
install.packages("imf.data")Install the development version from GitHub:
pak::pak("pedrobtz/imf.data")library(imf.data)
# Discover IMF Statistics Department datasets
datasets <- list_datasets("IMF.STA")
datasets[datasets$id == "CPI", ]# Inspect a dataset's key dimensions
list_dimensions("CPI")# Find valid frequency codes for US CPI data
list_dimension_values(
"CPI",
"FREQUENCY",
filters = list(COUNTRY = "USA")
)# Download the latest monthly headline CPI observations
cpi <- get_data(
"CPI",
filters = list(
COUNTRY = c("USA", "CAN"),
INDEX_TYPE = "CPI",
COICOP_1999 = "_T",
TYPE_OF_TRANSFORMATION = "IX",
FREQUENCY = "M"
),
last_n_obs = 12,
attributes = "STATUS"
)
cpiget_data() returns one row per observation. Dimension
and time columns are character vectors, OBS_VALUE is
numeric, and requested SDMX attributes are included as additional
columns.
raw <- sdmx_data(
"CPI",
key = "USA.CPI._T.IX.M",
last_n_obs = 2
)See vignette("getting-started") for a complete
workflow.
httr2 respects standard proxy environment variables such as
HTTPS_PROXY and NO_PROXY. A proxy can also be
configured specifically for imf.data:
set_imf_proxy(
"http://proxy.example.com",
port = 8080,
username = Sys.getenv("PROXY_USER"),
password = Sys.getenv("PROXY_PASSWORD")
)
list_datasets("IMF.STA")
clear_imf_proxy()The package-specific configuration applies to all raw and tidy API
functions for the remainder of the R session, until
clear_imf_proxy() is called.