¿Qué es una API?

Una API, o interfaz de programación de aplicaciones, es un conjunto de reglas o protocolos que permite que las aplicaciones de software se comuniquen entre sí para intercambiar datos, características y funcionalidades (IBM, 2026).

¿Cómo funcionan las API?

Para entender el funcionamiento de una API REST, es útil compararlo con el proceso de pedir comida en un restaurante:

Paso técnico Analogía
1. El cliente envía la solicitud El cliente le dice al mesero (la API) exactamente qué quiere: “una hamburguesa”
2. El servidor procesa la solicitud El mesero lleva el pedido a la cocina (el servidor), donde se verifica que el ingrediente esté disponible y se prepara
3. El servidor envía una respuesta El mesero regresa con el plato — o informa que no fue posible completar el pedido

De forma más técnica, el proceso ocurre así (IBM, 2026):

  1. El cliente envía la solicitud: una aplicación (en nuestro caso, un script de R) inicia una solicitud a una URL específica, especificando un método HTTP y los parámetros de la consulta.
  2. El servidor procesa la solicitud: el servidor valida que la solicitud sea correcta y busca la información pedida en su base de datos.
  3. El servidor envía una respuesta: el servidor devuelve un código de estado HTTP (por ejemplo, 200 OK si todo salió bien, o 404 No encontrado si el recurso no existe) junto con los datos solicitados.

Este proceso en la práctica

Este flujo se evidenció directamente en el desarrollo de este trabajo. Cada vez que se ejecutó la función get_data() en R para consultar la API del FMI, el script actuó como el cliente, enviando una solicitud a los servidores del FMI con los parámetros deseados (país, indicador, período, etc.):

get_data("CPI", filters = list(COUNTRY = "USA", INDICATOR = "CPI", ...))

Durante el proceso de consulta, se presentaron distintos resultados equivalentes a los códigos de estado HTTP:

  • Solicitudes con errores: al utilizar un código de indicador que no existía dentro de un dataset (por ejemplo, INDICATOR = "CPI" dentro del dataset PPI), el servidor no encontraba el recurso solicitado — un caso equivalente a un error 404 No encontrado.
  • Solicitudes exitosas: una vez corregidos los parámetros con los códigos correctos, el servidor respondía exitosamente, entregando los datos solicitados en forma de tabla — equivalente a una respuesta 200 OK.

Esto demuestra que, más allá de la teoría, el consumo de una API implica un proceso constante de prueba, identificación de errores en la solicitud, y ajuste de los parámetros hasta lograr una comunicación exitosa entre el cliente (nuestro código en R) y el servidor (la API del FMI).

Acceso a la API Fondo Monetario Internacional (imfapi).

El uso de esta API es facilitado a través de la librería (imf.data), la cual se puede instalar desde install packages, y con ello ya poder acceder a la API.

Tipos de Datos

library(tibble)
library(kableExtra)
Tipos_API <- tibble(
  Tipo = c("API Abiertas", "API de Socios", "API Internas", "API Compuestas"),
  Descripcion = c(
    "Interfaces de código abierto accesibles mediante HTTP. También conocidas como API públicas, cuentan con puntos finales y formatos de solicitud/respuesta definidos.",
    "Conectan a socios comerciales estratégicos. Los desarrolladores acceden en modo de autoservicio a través de un portal público, pero deben completar un proceso de incorporación y obtener credenciales.",
    "Permanecen ocultas para usuarios externos. No están disponibles fuera de la empresa; se utilizan para mejorar la productividad y comunicación entre equipos internos.",
    "Combinan varias API de datos o servicios en una sola llamada. Son útiles en arquitecturas de microservicios, donde una sola tarea requiere información de diversas fuentes."
  )
)

Tipos_API %>%
  kable(caption = "Tipos de APIs Web según su audiencia",
        col.names = c("Tipo", "Descripción")) %>%
  kable_classic(html_font = "Times New Roman", font_size = 14) %>%
  column_spec(1, bold = TRUE, width = "20%") %>%
  column_spec(2, width = "80%") %>%
  row_spec(0, bold = TRUE, background = "#2C3E50", color = "white") %>%
  add_footnote(label = "Elaboración propia con base en IBM (2026)", notation = "symbol") %>%
  kable_styling(full_width = TRUE)
Tipos de APIs Web según su audiencia
Tipo Descripción
API Abiertas Interfaces de código abierto accesibles mediante HTTP. También conocidas como API públicas, cuentan con puntos finales y formatos de solicitud/respuesta definidos.
API de Socios Conectan a socios comerciales estratégicos. Los desarrolladores acceden en modo de autoservicio a través de un portal público, pero deben completar un proceso de incorporación y obtener credenciales.
API Internas Permanecen ocultas para usuarios externos. No están disponibles fuera de la empresa; se utilizan para mejorar la productividad y comunicación entre equipos internos.
API Compuestas Combinan varias API de datos o servicios en una sola llamada. Son útiles en arquitecturas de microservicios, donde una sola tarea requiere información de diversas fuentes.
* Elaboración propia con base en IBM (2026)

Importancia del uso de las APIs

  • Acceso directo a fuentes oficiales: permiten obtener datos actualizados directamente de organismos como el FMI y el BM, sin depender de descargas manuales de archivos Excel o CSV.
  • Reproducibilidad: al quedar el proceso documentado en código (como en este trabajo con R), cualquier persona puede repetir exactamente el mismo análisis y obtener los mismos resultados.
  • Automatización: una vez configurada la consulta, los datos se actualizan automáticamente en cada ejecución, sin necesidad de trabajo manual adicional.
  • Manejo de grandes volúmenes de información: organismos como el FMI y el BM publican cientos de datasets con miles de indicadores; una API permite filtrar y descargar exactamente lo necesario, algo imposible de hacer manualmente a esa escala.
  • Interoperabilidad: al basarse en estándares abiertos (como HTTP y JSON), pueden ser consumidas desde cualquier lenguaje de programación — en este caso, R.

1. Carga de librerias y Carga de datos del FMI

library(dplyr)
library(kableExtra)
library(tibble)
library(imf.data)
# Este comando hace referencia a todos los datasets (base de Datos) que tiene el FMI
Datasets_disponibles_FMI <-list_datasets()

Datasets_disponibles_FMI %>%
  head(10) %>%
  kable(caption = "Datasets disponibles en la API del IMF") %>%
  kable_classic(html_font = "Times New Roman", font_size = 14) %>%
  add_footnote(label = "Tomado de la API del IMF", notation = "symbol") %>%
  kable_styling()
Datasets disponibles en la API del IMF
agency id version name description dsd_id
IMF.AFR AFRREO 7.0.0 Sub-Saharan Africa Regional Economic Outlook (AFRREO) Sub-Saharan Africa Regional Economic Outlook (REO) provides information on recent economic developments and prospects for countries in sub-Saharan Africa. Data for the REO for sub-Saharan Africa are prepared in conjunction with the semi-annual World Economic Outlook (WEO) exercises, spring and fall. DSD_AFRREO
IMF.AFR AFRREO_2025_OCT_VINTAGE 1.0.0 Sub-Saharan Africa Regional Economic Outlook (AFRREO) 2025 October Sub-Saharan Africa Regional Economic Outlook (AFRREO) 2025 October DSD_AFRREO_VINTAGE
IMF.APD APDREO 6.0.0 Asia and Pacific Regional Economic Outlook (APDREO) APD Regional Economic Outlook (REO) provides information on recent economic developments and prospects for countries in Asia and the Pacific. Data for the REO for Asia and Pacific is prepared in conjunction with the semi-annual World Economic Outlook (WEO) exercises, spring and fall. Data are consistent with the projections underlying the WEO. REO aggregate data may differ from WEO aggregates due to differences in group membership. Composite data for country groups are weighted averages of data for individual countries. Arithmetic weighted averages are used for all concepts except for inflation and broad money, for which geometric averages are used. PPP GDP weights from the WEO database are used for the aggregation of real GDP growth, real non-oil GDP growth, real per capita GDP growth, investment, national savings, broad money, claims on the nonfinancial private sector, and real and nominal effective exchange rates. Aggregates for other concepts are weighted by GDP in U.S. dollars at market exchange rates. DSD_APDREO
IMF.APD APDREO_2025_OCT_VINTAGE 1.0.0 Asia and Pacific Regional Economic Outlook (APDREO) 2025 October Asia and Pacific Regional Economic Outlook (APDREO) 2025 October DSD_APDREO_VINTAGE
IMF.FAD FM 5.0.0 Fiscal Monitor (FM) The Fiscal Monitor surveys and analyzes the latest public finance developments, it updates fiscal implications of the crisis and medium-term fiscal projections, and assesses policies to put public finances on a sustainable footing. DSD_FM
IMF.FAD FM_2025_OCT_VINTAGE 1.0.0 Fiscal Monitor (FM) 2025 October Fiscal Monitor (FM) 2025 October DSD_FM_VINTAGE
IMF.FAD GDD 2.0.0 Global Debt Database (GDD) The Global Debt Database (GDD) is the result of a multiyear investigative process that started with the October 2016 Fiscal Monitor. The dataset comprises total gross debt of the (private and public) nonfinancial sector for an unbalanced panel of 190 advanced economies, emerging market economies and low-income countries, dating back to 1950. DSD_GDD
IMF.FAD HPD 1.0.0 Historical Public Debt (HPD) The Historical Public Debt Database contains unbalanced panel data on Gross Domestic Product, Gross Government Debt, and Debt to GDP Ratio for 187 countries. The series spans the years 1800 through 2015 although each country’s data depends on its date of independence and data availability. DSD_HPD
IMF.FAD ICSD 1.0.0 Investment and Capital Stock Dataset (ICSD) This dataset provides comprehensive data for investment and capital stock for the general government, private sector and public-private partnerships, across the Fund member countries. DSD_ICSD
IMF.FAD PSBS 2.0.0 Public Sector Balance Sheet (PSBS) The Public Sector Balance Sheet (PSBS) Database shows comprehensive estimates of public sector assets and liabilities that formed the basis for the analysis presented in the October 2018 edition of the Fiscal Monitor. The database covers a broad sample of 55 countries, of which 25 countries contain time-series estimated PSBS and the rest for one single-year data compiled as part of Financial Transparency Evaluations and IMF Technical Assistance missions. The PSBS database is compiled on a best-effort basis, using the conceptual framework of the IMF’s Government Finance Statistics Manual 2014. Data for the central and general government generally replicate data reported by country authorities in the IMF’s Government Finance Statistics database. Data for the central bank generally replicate data reported by country authorities in the IMF’s Monetary and Financial Statistics database. Where these data fail to cover all categories of assets and liabilities, they are complemented by other data reported by statistical authorities at the national level. other international organizations, or staff estimates. Data sources for public corporations are country specific and are captured in the country specific metadata documents. DSD_PSBS
* Tomado de la API del IMF

1.1 Estructura del Dataset (CPI)

# Para conocer la estructura del dataset seleccionado

Estructura_Dataset <- list_dimensions("CPI")

Estructura_Dataset %>%
  kable(caption = "Estructura del Dataset CPI en la API del FMI") %>%
  kable_classic(html_font = "Times New Roman", font_size = 14) %>%
  add_footnote(label = "Tomado de la API del IMF", notation = "symbol") %>%
  kable_styling()
Estructura del Dataset CPI en la API del FMI
position id type name codelist_agency codelist_id codelist_version
0 COUNTRY Dimension Country IMF CL_COUNTRY 1.0+.0
1 INDEX_TYPE Dimension Index type IMF CL_INDEX_TYPE 2.0+.0
2 COICOP_1999 Dimension Expenditure Category IMF CL_COICOP_1999 1.0+.0
3 TYPE_OF_TRANSFORMATION Dimension Type of Transformation IMF.STA CL_CPI_TYPE_OF_TRANSFORMATION 5.0+.0
4 FREQUENCY Dimension FREQUENCY NA NA NA
5 TIME_PERIOD TimeDimension TIME_PERIOD NA NA NA
* Tomado de la API del IMF

1.2 Indicadores Disponibles en el Dataset CPI

Indicadores_disponibles_Datasets_PCI<-list_dimension_values("CPI", "INDEX_TYPE")
Indicadores_disponibles_Datasets_PCI %>% 
  kable(caption = "Indicadores disponibles") %>%  
  kable_classic(html_font = "Times New Roman", font_size = 14) %>% 
  add_footnote(label="Tomado de la API del IMF",
               notation="symbol") %>%  kable_styling()
Indicadores disponibles
code name description
CPI Consumer price index (CPI) The Consumer Price Index (CPI) is an index of the prices of consumption goods and services, as compared to a certain reference period.
HICP Harmonised index of consumer prices (HICP) The Harmonised Index of Consumer Prices (HICP) gives comparable measures of inflations for the countries and country groups for which it is produced. It is an economic indicator that measures the change over time of the prices of consumer goods and services acquired by households. In other words, it is a set of consumer price indexes (CPIs) calculated according to a harmonized approach and a set of definitions as laid down in Regulations and Recommendations. For example, the European Union’s HICP provides the official measure of consumer price inflation in the euro area for the purposes of monetary policy and the assessment of inflation convergence as required under the Maastricht criteria for accession to the euro.
* Tomado de la API del IMF

1.3 Carga de datos del CPI (2015-2025)

# Consulta de la inflación (CPI) para América del Norte, 2015-2025

CPI_NorteAmerica <- get_data(
  "CPI",
  filters = list(
    COUNTRY = c("USA", "CAN", "MEX"),
    INDEX_TYPE = "CPI",
    COICOP_1999 = "_T",
    TYPE_OF_TRANSFORMATION = "IX",
    FREQUENCY = "A"
  ),
  start_period = "2015-01",
  end_period = "2025-12"
)

CPI_NorteAmerica %>%
  arrange(COUNTRY, TIME_PERIOD) %>%
  kable(caption = "Índice de Precios al Consumidor (CPI) - América del Norte 2015-2025") %>%
  kable_classic(html_font = "Times New Roman", font_size = 14) %>%
  add_footnote(label = "Tomado de la API del IMF", notation = "symbol") %>%
  kable_styling()
Índice de Precios al Consumidor (CPI) - América del Norte 2015-2025
COUNTRY INDEX_TYPE COICOP_1999 TYPE_OF_TRANSFORMATION FREQUENCY TIME_PERIOD OBS_VALUE
CAN CPI _T IX A 2015 126.56667
CAN CPI _T IX A 2016 128.37500
CAN CPI _T IX A 2017 130.42500
CAN CPI _T IX A 2018 133.38333
CAN CPI _T IX A 2019 135.98333
CAN CPI _T IX A 2020 136.95833
CAN CPI _T IX A 2021 141.60833
CAN CPI _T IX A 2022 151.24167
CAN CPI _T IX A 2023 157.10833
CAN CPI _T IX A 2024 160.85000
CAN CPI _T IX A 2025 164.18333
MEX CPI _T IX A 2015 87.65457
MEX CPI _T IX A 2016 90.12792
MEX CPI _T IX A 2017 95.57296
MEX CPI _T IX A 2018 100.25542
MEX CPI _T IX A 2019 103.90067
MEX CPI _T IX A 2020 107.43000
MEX CPI _T IX A 2021 113.54192
MEX CPI _T IX A 2022 122.50750
MEX CPI _T IX A 2023 129.27967
MEX CPI _T IX A 2024 135.38458
MEX CPI _T IX A 2025 140.53825
USA CPI _T IX A 2015 108.69572
USA CPI _T IX A 2016 110.06701
USA CPI _T IX A 2017 112.41156
USA CPI _T IX A 2018 115.15730
USA CPI _T IX A 2019 117.24420
USA CPI _T IX A 2020 118.69050
USA CPI _T IX A 2021 124.26641
USA CPI _T IX A 2022 134.21121
USA CPI _T IX A 2023 139.73579
USA CPI _T IX A 2024 143.85734
* Tomado de la API del IMF

1.4 Grafica de la Inflacion Porcentual

library(tidyr)
library(plotly)
library(TSstudio)
# Gráfica del CPI anual para América del Norte: Estados Unidos (USA), Canadá (CAN), México (MEX)

Grafica2 <- CPI_NorteAmerica %>% 
  filter(COUNTRY %in% c("USA", "CAN", "MEX")) %>% 
  select(TIME_PERIOD, COUNTRY, OBS_VALUE) %>% 
  group_by(TIME_PERIOD, COUNTRY) %>% 
  pivot_wider(names_from = COUNTRY, values_from = OBS_VALUE) -> Comparativa2

Comparativa2[,-1] %>% 
  ts(start = 2015, end = 2025, frequency = 1) -> `Índice de Precios al Consumidor Anual - América del Norte`

library(plotly)

ts_plot(`Índice de Precios al Consumidor Anual - América del Norte`,
        title = "Índice de Precios al Consumidor (CPI) Anual - América del Norte 2015-2025",
        Xtitle = "Año",
        Ytitle = "Índice (CPI)",
        slider = FALSE) %>%
  layout(xaxis = list(dtick = 1))

El indice de Precios al Consumidor (IPC) es un indice de los precios de los bienes y servicios de consumo, en comparacion con un periodo de referencia determinado.

2. Filtro para buscar el Indice de Precios al Productor (PPI)

Datasets_disponibles_FMI %>%
  filter(grepl("PPI|Producer Price", name, ignore.case = TRUE)) %>%
  select(agency, id, name) %>%
 
  kable(caption = "Índice de Precios al Productor (PPI) - América del Norte 2015-2025") %>%
  kable_classic(html_font = "Times New Roman", font_size = 14) %>%
  add_footnote(label = "Tomado de la API del IMF", notation = "symbol") %>%
  kable_styling()
Índice de Precios al Productor (PPI) - América del Norte 2015-2025
agency id name
IMF.STA PPI Producer Price Index (PPI)
IMF.STA PPI_2026_APR_VINTAGE Producer Price Index (PPI) 2026 April
IMF.STA PPI_2026_FEB_VINTAGE Producer Price Index (PPI) 2026 February
IMF.STA PPI_2026_JAN_VINTAGE Producer Price Index (PPI) 2026 January
IMF.STA PPI_2026_MAY_VINTAGE Producer Price Index (PPI) 2026 May
* Tomado de la API del IMF

2.1 Estructura del Dataset (PPI)

Estructura_Dataset_PPI<-list_dimensions("PPI")
Estructura_Dataset_PPI %>%
  kable(caption = "Estructura de Datasets disponibles en la API del IMF") %>%  
  kable_classic(html_font = "Times New Roman", font_size = 14) %>% 
  add_footnote(label="Tomado de la API del IMF",
               notation="symbol") %>%  kable_styling() 
Estructura de Datasets disponibles en la API del IMF
position id type name codelist_agency codelist_id codelist_version
0 COUNTRY Dimension Country IMF CL_COUNTRY 1.0+.0
1 INDICATOR Dimension Indicator IMF.STA CL_PPI_INDICATOR 2.0+.0
2 TYPE_OF_TRANSFORMATION Dimension Type of Transformation IMF.STA CL_PPI_TYPE_OF_TRANSFORMATION 1.0+.0
3 FREQUENCY Dimension FREQUENCY NA NA NA
4 TIME_PERIOD TimeDimension TIME_PERIOD NA NA NA
* Tomado de la API del IMF

2.2 Indicadores Disponibles en el Dataset PPI

list_dimension_values("PPI", "INDICATOR")

2.3 Carga de datos del PPI (2015-2025)

# Consulta de la inflación (CPI) para América del Norte, 2015-2025

PPI_NorteAmerica <- get_data(
  "PPI",
  filters = list(
    COUNTRY = c("USA", "CAN", "MEX"),
    INDICATOR = "PPI",
    TYPE_OF_TRANSFORMATION = "IX",
    FREQUENCY = "A"
  ),
  start_period = "2015-01",
  end_period = "2025-12"
)

PPI_NorteAmerica %>%
  arrange(COUNTRY, TIME_PERIOD) %>%
  kable(caption = "Índice de Precios al Productor (PPI) Anual - América del Norte 2015-2025") %>%
  kable_classic(html_font = "Times New Roman", font_size = 14) %>%
  add_footnote(label = "Tomado de la API del IMF", notation = "symbol") %>%
  kable_styling()
Índice de Precios al Productor (PPI) Anual - América del Norte 2015-2025
COUNTRY INDICATOR TYPE_OF_TRANSFORMATION FREQUENCY TIME_PERIOD OBS_VALUE
CAN PPI IX A 2015 110.3241
CAN PPI IX A 2016 110.0992
CAN PPI IX A 2017 113.5489
CAN PPI IX A 2018 117.9235
MEX PPI IX A 2015 116.7083
MEX PPI IX A 2016 122.9918
MEX PPI IX A 2017 132.4697
MEX PPI IX A 2018 141.2409
MEX PPI IX A 2019 144.7967
MEX PPI IX A 2020 149.3452
MEX PPI IX A 2021 159.9350
MEX PPI IX A 2022 174.1443
USA PPI IX A 2015 110.8951
USA PPI IX A 2016 111.3659
USA PPI IX A 2017 113.9552
USA PPI IX A 2018 117.2591
USA PPI IX A 2019 119.2431
USA PPI IX A 2020 119.4617
USA PPI IX A 2021 127.8203
USA PPI IX A 2022 139.9773
USA PPI IX A 2023 142.7979
USA PPI IX A 2024 146.1633
USA PPI IX A 2025 150.5354
* Tomado de la API del IMF

2.4 Grafica del Indice de Precios al Productor

library(tidyr)
library(plotly)
library(TSstudio)
# Gráfica del CPI anual para América del Norte: Estados Unidos (USA), Canadá (CAN), México (MEX)

Grafica2 <- PPI_NorteAmerica %>% 
  filter(COUNTRY %in% c("USA", "CAN", "MEX")) %>% 
  select(TIME_PERIOD, COUNTRY, OBS_VALUE) %>% 
  group_by(TIME_PERIOD, COUNTRY) %>% 
  pivot_wider(names_from = COUNTRY, values_from = OBS_VALUE) -> Comparativa2

Comparativa2[,-1] %>% 
  ts(start = 2015, end = 2025, frequency = 1) -> `Índice de Precios al Productor Anual - América del Norte`

library(plotly)

ts_plot(`Índice de Precios al Productor Anual - América del Norte`,
        title = "Índice de Precios al Productor (PPI) Anual - América del Norte 2015-2025",
        Xtitle = "Año",
        Ytitle = "Índice (PPI)",
        slider = FALSE) %>%
  layout(xaxis = list(dtick = 1))

El indice de Precios al Productor (IPP) es un indicador economico clave que mide el cambio promedio a lo largo del tiempo en los precios de venta recibidos por los productores naionales por su produccion.

3. Conocer la estructura del dataset Difersificacion de las Exportaciones (ED)

Estructura_Dataset_ED<-list_dimensions("ED", agency_id = "IMF.RES")
Estructura_Dataset_ED %>%
  kable(caption = "Estructura de Datasets disponibles en la API del IMF") %>%  
  kable_classic(html_font = "Times New Roman", font_size = 14) %>% 
  add_footnote(label="Tomado de la API del IMF",
               notation="symbol") %>%  kable_styling()
Estructura de Datasets disponibles en la API del IMF
position id type name codelist_agency codelist_id codelist_version
0 COUNTRY Dimension Country IMF CL_COUNTRY 1.0+.0
1 INDICATOR Dimension Indicator IMF.RES CL_ED_INDICATOR 1.0+.0
2 FREQUENCY Dimension FREQUENCY NA NA NA
3 TIME_PERIOD TimeDimension TIME_PERIOD NA NA NA
* Tomado de la API del IMF

3.1 Indicadores disponibles en el dataset (ED)

list_dimension_values("ED", "INDICATOR", agency_id = "IMF.RES")

3.2 Carga de datos del Indice de Theil (2000-2014)

ED_NorteAmerica <- get_data(
  "ED", agency_id = "IMF.RES",
  filters = list(
    COUNTRY = c("USA", "CAN", "MEX"),
    INDICATOR = "TOTAL_THEIL_IX",
    FREQUENCY = "A"
  ),
  start_period = "2000-01",
  end_period = "2014-12"
)

ED_NorteAmerica %>%
  arrange(COUNTRY, TIME_PERIOD) %>%
  kable(caption = "Diversificacion de las Exportaciones (ED) Anual - América del Norte 2000-2014") %>%
  kable_classic(html_font = "Times New Roman", font_size = 14) %>%
  add_footnote(label = "Tomado de la API del IMF", notation = "symbol") %>%
  kable_styling()
Diversificacion de las Exportaciones (ED) Anual - América del Norte 2000-2014
COUNTRY INDICATOR FREQUENCY TIME_PERIOD OBS_VALUE
CAN TOTAL_THEIL_IX A 2000 2.043467
CAN TOTAL_THEIL_IX A 2001 2.035564
CAN TOTAL_THEIL_IX A 2002 2.035300
CAN TOTAL_THEIL_IX A 2003 2.062201
CAN TOTAL_THEIL_IX A 2004 2.032423
CAN TOTAL_THEIL_IX A 2005 2.058040
CAN TOTAL_THEIL_IX A 2006 2.034150
CAN TOTAL_THEIL_IX A 2007 2.016205
CAN TOTAL_THEIL_IX A 2008 2.096381
CAN TOTAL_THEIL_IX A 2009 1.976951
CAN TOTAL_THEIL_IX A 2010 2.169204
CAN TOTAL_THEIL_IX A 2011 2.216772
CAN TOTAL_THEIL_IX A 2012 2.280877
CAN TOTAL_THEIL_IX A 2013 2.270921
CAN TOTAL_THEIL_IX A 2014 2.315573
MEX TOTAL_THEIL_IX A 2000 2.503260
MEX TOTAL_THEIL_IX A 2001 2.504563
MEX TOTAL_THEIL_IX A 2002 2.482811
MEX TOTAL_THEIL_IX A 2003 2.472935
MEX TOTAL_THEIL_IX A 2004 2.432634
MEX TOTAL_THEIL_IX A 2005 2.421035
MEX TOTAL_THEIL_IX A 2006 2.518533
MEX TOTAL_THEIL_IX A 2007 2.501343
MEX TOTAL_THEIL_IX A 2008 2.507728
MEX TOTAL_THEIL_IX A 2009 2.391027
MEX TOTAL_THEIL_IX A 2010 2.500261
MEX TOTAL_THEIL_IX A 2011 2.494874
MEX TOTAL_THEIL_IX A 2012 2.511502
MEX TOTAL_THEIL_IX A 2013 2.470344
MEX TOTAL_THEIL_IX A 2014 2.430940
USA TOTAL_THEIL_IX A 2000 1.644268
USA TOTAL_THEIL_IX A 2001 1.603587
USA TOTAL_THEIL_IX A 2002 1.611117
USA TOTAL_THEIL_IX A 2003 1.574412
USA TOTAL_THEIL_IX A 2004 1.569559
USA TOTAL_THEIL_IX A 2005 1.542157
USA TOTAL_THEIL_IX A 2006 1.551457
USA TOTAL_THEIL_IX A 2007 1.506816
USA TOTAL_THEIL_IX A 2008 1.495034
USA TOTAL_THEIL_IX A 2009 1.525716
USA TOTAL_THEIL_IX A 2010 1.643865
USA TOTAL_THEIL_IX A 2011 1.658922
USA TOTAL_THEIL_IX A 2012 1.702519
USA TOTAL_THEIL_IX A 2013 1.717200
USA TOTAL_THEIL_IX A 2014 1.722678
* Tomado de la API del IMF

Indice de diversificacion de Exportaciones. Un indice de Theil puede interpretarse como una medida de redundancia, falta de diversidad, aislamiento, desigualdad, no aleatoridad y comprensibilidad. En el contexto de la diversifiacion, cuanto mayor sea el indice, menor sera la diversificacion.

4.WEO Proyectar el crecimiento del PIB para America del Norte (2027-2032)

4.1 Estructura del Dataset World Economic Outlook

Estructura_Dataset_WEO<-list_dimensions("WEO", agency_id = "IMF.RES")

Estructura_Dataset_WEO%>%
  kable(caption = "Estructura de Datasets WEO disponible en la API FMI")%>%
  kable_classic(html_font = "Times New Roman", font_size = 14)%>%
  add_footnote(label ="Tomado de la API del FMI",
               notation ="symbol") %>% kable_styling()
Estructura de Datasets WEO disponible en la API FMI
position id type name codelist_agency codelist_id codelist_version
0 COUNTRY Dimension Country IMF.RES CL_WEO_COUNTRY 1.0+.0
1 INDICATOR Dimension Indicator IMF.RES CL_WEO_INDICATOR 2.0+.0
2 FREQUENCY Dimension FREQUENCY NA NA NA
3 TIME_PERIOD TimeDimension TIME_PERIOD NA NA NA
* Tomado de la API del FMI

4.2 Indicadores Disponibles en el dataset WEO

Indicadores_WEO<-list_dimension_values("WEO", "INDICATOR", agency_id = "IMF.RES")
Indicadores_WEO%>%
  head(10)%>%
  kable(caption = "Indicadores disponibles en el flujo de datos WEO")%>%
  kable_classic(html_font = "Times New Roman", font_size=14)%>%
  add_footnote(label = "Tomado de la API del FMI",
               notation = "symbol") %>% kable_styling()
Indicadores disponibles en el flujo de datos WEO
code name description
BCA Current account balance (credit less debit), US dollar The current account balance is the balance of current transactions (transactions in goods and services, earned income and transfer income) between residents and non-residents. The term current account balance is used in the external accounts and is expressed from the perspective of resident units. The term current external balance is used in the national accounts and is expressed from the perspective of the non-resident units, and therefore with the opposite sign.
BCA_NGDPD Current account balance (credit less debit), Percent of GDP The current account balance is the balance of current transactions (transactions in goods and services, earned income and transfer income) between residents and non-residents. The term current account balance is used in the external accounts and is expressed from the perspective of resident units. The term current external balance is used in the national accounts and is expressed from the perspective of the non-resident units, and therefore with the opposite sign. Value expressed as a percent of the Gross Domestic Product (GDP) of a country. A ratio expressed as a fraction of 100.
BF Financial account balance (assets less liabilities), US dollar The financial account balance reflects the difference in transactions in financial assets and liabilities in the accounting period. In the external accounts, only transactions between residents and non-residents are included.
BFD Direct investment, Net (assets minus liabilities), US dollar Direct Investment represents cross-border investment associated with a resident in one economy having control or a significant degree of influence on the management of an enterprise that is resident in another economy. Ownership of 10 percent or more of the voting power is evidence of a direct investment relationship. The net value obtained by subtracting total liabilities from total assets.
BFF Financial derivatives and employee stock options, Net (assets minus liabilities), US dollar Negotiable financial instruments and employee stock options that are linked to other specific financial instruments, indicators, or commodities. The net value obtained by subtracting total liabilities from total assets.
BFO Other investment, Net (assets minus liabilities), US dollar Other investment represents a residual investment category that includes positions and transactions other than those included in direct investment, portfolio investment, financial derivatives and employee stock options, and reserve assets. The net value obtained by subtracting total liabilities from total assets.
BFP Portfolio investment, Net (assets minus liabilities), US dollar Portfolio investment reflects cross-border transactions and positions involving debt or equity securities, other than those included in direct investment or reserve assets. The net value obtained by subtracting total liabilities from total assets.
BFRA Change in reserve assets, Net (assets minus liabilities), US dollar The difference in the value of reserve assets between two points in time, reflecting additions or withdrawals. The net value obtained by subtracting total liabilities from total assets.
BM Imports of goods and services, US dollar Total current and capital account balances (credit less debit)
BX Exports of goods and services, US dollar The export (sale or barter) of physical, produced objects (goods) and services over which ownership rights can be established and whose ownership can be transferred from one institutional unit to another by engaging in transactions on markets by residents in one territory to residents in another territory. Exports reflect a change in the economic ownership of goods from residents of the compiling economy to non-residents, irrespective of physical movement of goods across national borders. The f.o.b. price (free on board price) of exports and imports of goods is the market value of the goods at the point of uniform valuation, (the customs frontier of the economy from which they are exported). It is equal to the c.i.f. price less the costs of transportation and insurance charges, between the customs frontier of the exporting (importing) country and that of the importing (exporting) country. This indicator appears in other datasets published by the IMF. While every effort is made to ensure that estimates for the same indicator are consistent across different datasets, differences can occur due to differences in compilation methodology, reference year, splicing series to perserve time-series continuity, and when the data were collected, processed, and published.
* Tomado de la API del FMI

4.2 Filtro para buscar el indicador PIB

# Buscar PIB
Indicadores_WEO %>%
  filter(grepl("gross domestic product|GDP", name, ignore.case = TRUE))

4.3 Datos del crecimiento del PIB

# Descarga del PIB (crecimiento %) para América del Norte, incluyendo proyecciones

CRECIMIENTO_WEO <- get_data(
  "WEO",
  agency_id = "IMF.RES",
  filters = list(
    INDICATOR = "NGDP_RPCH",
    COUNTRY = c("USA", "CAN", "MEX"),
    FREQUENCY = "A"
    ))

4.4. Filtrar años y limpiar datos

# Filtramos solo las proyecciones de 2027 a 2032
CRECIMIENTO_WEO_Proy <- CRECIMIENTO_WEO %>% 
  mutate(TIME_PERIOD = as.numeric(TIME_PERIOD),
         OBS_VALUE = as.numeric(OBS_VALUE)) %>%
  filter(TIME_PERIOD >= 2027 & TIME_PERIOD <= 2031) %>%
  arrange(TIME_PERIOD)

4.5. Pivotear (Un pais por columna)

# Pivoteamos para tener un país por columna
Comparativa3 <- CRECIMIENTO_WEO_Proy %>% 
  pivot_wider(names_from = COUNTRY, values_from = OBS_VALUE) %>%
  select(TIME_PERIOD, USA, CAN, MEX) %>%
  arrange(TIME_PERIOD)

4.6. Convertir a serie de tiempo

# Convertimos a serie de tiempo
Comparativa3 %>% 
  select(-TIME_PERIOD) %>%
  ts(start = 2027, frequency = 1) -> ts_Crecimiento_Proy

Grafico de las perspectiva del crecmiento del PIB (2007-2032)

ts_plot(ts_Crecimiento_Proy,
        title = "Perspectivas de Crecimiento Económico (PIB) - América del Norte 2027-2031",
        Xtitle = "Año",
        Ytitle = "Crecimiento del PIB (%)",
        slider = FALSE) %>%
  layout(xaxis = list(dtick = 1))

Producto Interno Bruto (PIB), a precios constantes, cambio porcentual.

5. WEO Proyectar la tasa de variacion del IPC para America del Norte (2027-2032)

# Buscar inflación
Indicadores_WEO %>%
  filter(grepl("inflation|consumer price", name, ignore.case = TRUE))

5.1 Datoa de la Inflacion Proyectada

INFLACION_WEO <- get_data(
  "WEO",
  agency_id = "IMF.RES",
  filters = list(
    INDICATOR = "PCPIPCH",
    COUNTRY = c("USA", "CAN", "MEX"),
    FREQUENCY = "A"
  )
)

5.2. Filtrar años y Filtrar tipo de datos

INFLACION_WEO_Proy <- INFLACION_WEO %>% 
  mutate(TIME_PERIOD = as.numeric(TIME_PERIOD),
         OBS_VALUE = as.numeric(OBS_VALUE)) %>%
  filter(TIME_PERIOD >= 2027 & TIME_PERIOD <= 2031) %>%
  arrange(TIME_PERIOD)

5.3. Pivoterar (Un pais por columna)

Comparativa4 <- INFLACION_WEO_Proy %>% 
  pivot_wider(names_from = COUNTRY, values_from = OBS_VALUE) %>%
  select(TIME_PERIOD, USA, CAN, MEX) %>%
  arrange(TIME_PERIOD)

5.4. Convertir a serie de tiempo

Comparativa4 %>% 
  select(-TIME_PERIOD) %>%
  ts(start = 2027, frequency = 1) -> ts_Inflacion_Proy

5.5. Grafico de las perspectivas de la Inflacion (2027-2031)

ts_plot(ts_Inflacion_Proy,
        title = "Perspectivas de Inflación - América del Norte 2027-2031",
        Xtitle = "Año",
        Ytitle = "Inflación (%)",
        slider = FALSE) %>%
  layout(xaxis = list(dtick = 1))

Todos los articulos incluidos en el contexto del Indice de precios al consumidor indica que el indice incluye el precio de todos los articulos incluidos en la canasta del indice de precios al consumidor. Esto incluye precios relacionados con alimentos, vivienda, salud, transporte, recreacion, educacion, restaurantes y hoteles y otros bienes y servicios miscelaneos.

6. Proyectar la tasa porcentual de desempleo(LUR) para America del Norte (2027-2031)

6.1 Filtro para buscar el indicador

# Buscar desempleo
Indicadores_WEO %>%
  filter(grepl("unemployment", name, ignore.case = TRUE))

6.2 Datos de la tasa porcentual de desempleo Proyectada

DESEMPLEO_WEO <- get_data(
  "WEO",
  agency_id = "IMF.RES",
  filters = list(
    INDICATOR = "LUR",
    COUNTRY = c("USA", "CAN", "MEX"),
    FREQUENCY = "A"
  )
)

6.3. Filtrar años y Filtrar tipo de datos

DESEMPLEO_WEO_Proy <- DESEMPLEO_WEO %>% 
  mutate(TIME_PERIOD = as.numeric(TIME_PERIOD),
         OBS_VALUE = as.numeric(OBS_VALUE)) %>%
  filter(TIME_PERIOD >= 2027 & TIME_PERIOD <= 2031) %>%
  arrange(TIME_PERIOD)

6.4. Pivoterar (Un pais por columna)

ComparativaK <- DESEMPLEO_WEO_Proy %>% 
  pivot_wider(names_from = COUNTRY, values_from = OBS_VALUE) %>%
  select(TIME_PERIOD, USA, CAN, MEX) %>%
  arrange(TIME_PERIOD)

6.5. Convertir a serie de tiempo

ComparativaK %>% 
  select(-TIME_PERIOD) %>%
  ts(start = 2027, frequency = 1) -> ts_desempleo_Proy

6.6. Grafico de las perspectivas de la tasa de desempleo (2027-2031)

ts_plot(ts_desempleo_Proy,
        title = "Perspectivas de Desempleo - América del Norte 2027-2031",
        Xtitle = "Año",
        Ytitle = "Desemepleo (%)",
        slider = FALSE) %>%
  layout(xaxis = list(dtick = 1))

El porcentaje de la fuerza laboral que esta desempleada y busca empleo activamente, se calcula como el numero de personas desempleadas dividido por la fuerza laboral total.

Acceso a la API del Banco Mundial (BM)

El acceso a la API es facilitado por la librería “wbstats”, en la cual están almacenados alrededor de 23,678 indicadores que pueden ser consultados y descargados.

Carga de Indicadores a Utilizar

#install.packages("wbstats")
library(wbstats)

# Para concer los indicadores disponibles en la API.
indicadores<-wb_indicators(lang = "es") 
indicadores%>% 
  head(10)%>% 
  kable(caption = "Indicadores disponibles en la API del Banco Mundial")%>%  
  kable_classic(html_font = "Times New Roman", font_size = 14)%>% 
  add_footnote(label="Tomado de la API del BM",
               notation="symbol") %>%  kable_styling() 
Indicadores disponibles en la API del Banco Mundial
indicator_id indicator unit indicator_desc source_org topics source_id source
1.0.HCount.1.90usd Tasa de Incidencia de la Pobreza ($1.90 al día) NA Tasa de Incidencia de la Pobreza mide la proporción de la población con ingreso per cápita diario (en PPA de 2011) por debajo de la línea de pobreza. Tabulaciones del LAC Equity Lab con datos de SEDLAC (CEDLAS y el Banco Mundial) 11 , Pobreza 37
1.0.HCount.2.5usd Tasa de Incidencia de la Pobreza ($2.50 al día) NA Tasa de Incidencia de la Pobreza mide la proporción de la población con ingreso per cápita diario (en PPA de 2005) por debajo de la línea de pobreza. Tabulaciones del LAC Equity Lab con datos de SEDLAC (CEDLAS y el Banco Mundial) 11 , Pobreza 37
1.0.HCount.Mid10to50 Tasa de Incidencia de la Clase Media ($10-50 al día) NA Tasa de Incidencia de la Pobreza mide la proporción de la población con ingreso per cápita diario (en PPA de 2005) por debajo de la línea de pobreza. Tabulaciones del LAC Equity Lab con datos de SEDLAC (CEDLAS y el Banco Mundial) 11 , Pobreza 37
1.0.HCount.Ofcl Tasa Oficial de la Pobreza Moderada-Nacional NA Tasa de Incidencia de la Pobreza mide la proporción de la población con ingreso per cápita diario por debajo de la línea de pobreza desarrollada por cada país. Tabulaciones del LAC Equity Lab de los datos de las Oficinas Nacionales de Estadística 11 , Pobreza 37
1.0.HCount.Poor4uds Tasa de Incidencia de la Pobreza ($4 al día) NA Tasa de Incidencia de la Pobreza mide la proporción de la población con ingreso per cápita diario (en PPA de 2005) por debajo de la línea de pobreza. Tabulaciones del LAC Equity Lab con datos de SEDLAC (CEDLAS y el Banco Mundial) 11 , Pobreza 37
1.0.HCount.Vul4to10 Tasa de incidencia de población Vulnerable ($4-10 al día) NA Tasa de Incidencia de la Pobreza mide la proporción de la población con ingreso per cápita diario (en PPA de 2005) por debajo de la línea de pobreza. Tabulaciones del LAC Equity Lab con datos de SEDLAC (CEDLAS y el Banco Mundial) 11 , Pobreza 37
1.0.PGap.1.90usd Brecha de Pobreza ($1.90 al día) NA La Brecha de Pobreza captura el déficit del ingreso o consumo promedio agregado relativo a la línea de pobreza a través de toda la población. Mide el total de recursos necesarios para traer a todos os pobres al nivel de la línea de pobreza (promediado sobre la población total). Tabulaciones del LAC Equity Lab con datos de SEDLAC (CEDLAS y el Banco Mundial) 11 , Pobreza 37
1.0.PGap.2.5usd Brecha de Pobreza ($2.50 al día) NA La Brecha de Pobreza captura el déficit del ingreso o consumo promedio agregado relativo a la línea de pobreza a través de toda la población. Mide el total de recursos necesarios para traer a todos os pobres al nivel de la línea de pobreza (promediado sobre la población total). Tabulaciones del LAC Equity Lab con datos de SEDLAC (CEDLAS y el Banco Mundial) 11 , Pobreza 37
1.0.PGap.Poor4uds Brecha de Pobreza ($4 al día) NA La Brecha de Pobreza captura el déficit del ingreso o consumo promedio agregado relativo a la línea de pobreza a través de toda la población. Mide el total de recursos necesarios para traer a todos os pobres al nivel de la línea de pobreza (promediado sobre la población total). Tabulaciones del LAC Equity Lab con datos de SEDLAC (CEDLAS y el Banco Mundial) 11 , Pobreza 37
1.0.PSev.1.90usd Severidad de la Pobreza ($1.90 al día) NA El índice de severidad de la pobreza combina información tanto de pobreza como de desigualdad entre los pobres, al promediar los cuadrados de las brechas de pobreza relativas a la línea de pobreza Tabulaciones del LAC Equity Lab con datos de SEDLAC (CEDLAS y el Banco Mundial) 11 , Pobreza 37
* Tomado de la API del BM

Region de trabajo)

paises <- wb_countries(lang = "es")

centroamerica_info <- paises %>%
  filter(iso3c %in% c("USA", "CAN", "MEX")) %>%
  select(iso3c, country, region, income_level)

centroamerica_info %>%
  kable(caption = "Países de Norteamérica  disponibles en la API del BM") %>%
  kable_classic(html_font = "Times New Roman", font_size = 14) %>%
  kable_styling()
Países de Norteamérica disponibles en la API del BM
iso3c country region income_level
CAN Canadá América del Norte Ingreso alto
MEX México América Latina y el Caribe Ingreso mediano alto
USA Estados Unidos América del Norte Ingreso alto

Exportaciones

# Consulta a la API
Exportaciones_bs_PIB<-wb_data(
  indicator = "NE.EXP.GNFS.ZS",
  country = c("CAN", "MEX", "USA"),
  start_date = 2015,
  end_date = 2025,
  lang = "es")%>%
  
# Rename lo que haces es renombrar las columnas que tienen el codigo del indicador por el nombre del indicador
  rename("Exportaciones"=NE.EXP.GNFS.ZS)%>%
  
# Select lo que hace es quitar columnas que no sirven de mucho en la tabla o que contienen informacion repetiva como iso2c entre otros
select(-iso2c, -country, -unit, -obs_status, -footnote, -last_updated)

## Toda la codificacion sirve para darle estetica a la tabla como por ejemplo ponerle el titulo y el tipo de letra entre otros
Exportaciones_bs_PIB %>% 
  pivot_wider(names_from = iso3c, values_from = Exportaciones) %>%
  head(12) %>% 
  kable(caption = "Exportaciones de bienes y servicios  (% PIB)") %>%  
  kable_classic(html_font = "Times New Roman", font_size = 14) %>% 
  add_footnote(label="Tomado de la API del BM",
               notation="symbol") %>%  kable_styling() 
Exportaciones de bienes y servicios (% PIB)
date CAN MEX USA
2015 31.84993 34.16277 12.41115
2016 31.50254 36.81568 11.88816
2017 31.45434 37.51409 12.17748
2018 32.32537 39.04393 12.28711
2019 32.35263 38.52965 11.78920
2020 29.47361 39.23537 10.12308
2021 31.17509 40.56919 10.82667
2022 33.72121 42.93229 11.65410
2023 33.34165 36.14793 11.05067
2024 32.46912 37.28362 10.97470
2025 31.33239 39.64534 NA
* Tomado de la API del BM
# Dato para extraer el codigo exacto de un indicador
Buscar_impor<-wb_search("imports")
Buscar_impor %>%
  filter(grepl("GDP", indicator, ignore.case = TRUE)) %>%
  kable(caption = "Indicadores de importaciones relacionados con el PIB")
Indicadores de importaciones relacionados con el PIB
indicator_id indicator indicator_desc
BM.GSR.MRCH.ZS Merchandise imports (BOP): percentage of GDP (%) NA
EG.USE.COMM.GD.PP.KD Energy use (kg of oil equivalent) per $1,000 GDP (constant 2021 PPP) Energy use per PPP GDP is the kilogram of oil equivalent of energy use per constant PPP GDP. Energy use refers to use of primary energy before transformation to other end-use fuels, which is equal to indigenous production plus imports and stock changes, minus exports and fuels supplied to ships and aircraft engaged in international transport. PPP GDP is gross domestic product converted to 2021 constant international dollars using purchasing power parity rates. An international dollar has the same purchasing power over GDP as a U.S. dollar has in the United States.
NE.GDI.IMPT.CR GDP expenditure on imports (in IDR Million) Import is a trade of goods and services required by citizens of a country from citizens of other country in exchange for foreign currency. Import creates outflux of foreign currency.
NE.GDI.IMPT.SNA08.CR GDP expenditure on imports (in IDR Million), SNA 2008, Current Price NA
NE.IMP.GNFS.ZS Imports of goods and services (% of GDP) Imports of goods includes change in the economic ownership of goods from non-residents to

residents of the compiling economy, irrespective of physical movement of goods across national borders. Imports of services includes services provided by non-residents to residents. This indicator is expressed as a percentage of Gross Domestic Product (GDP) which is the total income earned through the production of goods and services in an economic territory during an accounting period. | |NE.MRCH.GDP.ZS |Merchandise trade to GDP ratio (%) |Merchandise trade as a share of GDP is the sum of merchandise exports and imports divided by the value of GDP, all in current US dollars and from the national accounts. | |NE.RSB.GNFS.ZS |External balance on goods and services (% of GDP) |The balance of international trade in goods and services is the difference between the exports and imports of goods and services. This indicator is expressed as a percentage of Gross Domestic Product (GDP) which is the total income earned through the production of goods and services in an economic territory during an accounting period. | |NE.TRD.GNFS.ZS |Trade (% of GDP) |Trade is the sum of exports and imports of goods and services. This indicator is expressed as a percentage of Gross Domestic Product (GDP) which is the total income earned through the production of goods and services in an economic territory during an accounting period. | |TG.VAL.TOTL.GD.ZS |Merchandise trade (% of GDP) |General merchandise trade includes goods whose economic ownership is changed between a resident and a non-resident and that are not included in the following specific categories: goods under merchanting, non-monetary gold, and parts of travel, construction, and government goods and services n.i.e. It is the total of merchandise exports plus merchandise imports. This indicator is expressed as a percentage of Gross Domestic Product (GDP) which is the total income earned through the production of goods and services in an economic territory during an accounting period. |

Importaciones

# Consulta a la API
Importaciones_bs_PIB<-wb_data(
  indicator = "NE.IMP.GNFS.ZS",
  country = c("CAN", "MEX", "USA"),
  start_date = 2015,
  end_date = 2025,
  lang = "es")%>%
  
# Rename lo que haces es renombrar las columnas que tienen el codigo del indicador por el nombre del indicador
  rename("Importaciones"=NE.IMP.GNFS.ZS)%>%
  
# Select lo que hace es quitar columnas que no sirven de mucho en la tabla o que contienen informacion repetiva como iso2c entre otros
select(-iso2c, -country, -unit, -obs_status, -footnote, -last_updated)

## Toda la codificacion sirve para darle estetica a la tabla como por ejemplo ponerle el titulo y el tipo de letra entre otros
Importaciones_bs_PIB %>% 
  # pivot_wider transforma la tabla de formato largo a formato ancho
  pivot_wider(names_from = iso3c, values_from = "Importaciones")%>%
  head(30) %>% 
  kable(caption = "Importaciones de bienes y servicios  (% PIB)") %>%  
  kable_classic(html_font = "Times New Roman", font_size = 14) %>% 
  add_footnote(label="Tomado de la API del BM",
               notation="symbol") %>%  kable_styling() 
Importaciones de bienes y servicios (% PIB)
date CAN MEX USA
2015 34.31491 36.25020 15.27707
2016 33.86108 38.87463 14.56444
2017 33.64657 39.43804 14.94786
2018 34.27445 41.16873 15.15825
2019 33.81872 38.93232 14.46928
2020 31.68308 37.61918 13.01686
2021 31.07177 42.50010 14.40606
2022 33.23195 45.86620 15.25380
2023 33.23289 37.59114 13.87862
2024 32.65238 38.14229 14.04132
2025 32.17812 40.27861 NA
* Tomado de la API del BM

Saldo de la balanza comercial

Balanza_comercial <- Exportaciones_bs_PIB %>%
  rename(Exportaciones = Exportaciones) %>%
  left_join(
    Importaciones_bs_PIB %>% rename(Importaciones = Importaciones),
    by = c("iso3c", "date")
  ) %>%
  mutate(Balanza_comercial = Exportaciones - Importaciones)%>%
select(iso3c, date, Balanza_comercial)
Balanza_comercial %>%
   # pivot_wider transforma la tabla de formato largo a formato ancho
  pivot_wider(names_from = iso3c, values_from = "Balanza_comercial")%>%
  kable(caption = "Balanza comercial (% del PIB)") %>%
  kable_classic(html_font = "Times New Roman", font_size = 14) %>%
  footnote(general = "Calculado como Exportaciones - Importaciones (% PIB), datos del Banco Mundial") %>%
  kable_styling()
Balanza comercial (% del PIB)
date CAN MEX USA
2015 -2.4649777 -2.0874293 -2.865917
2016 -2.3585374 -2.0589489 -2.676279
2017 -2.1922354 -1.9239488 -2.770376
2018 -1.9490767 -2.1248008 -2.871138
2019 -1.4660905 -0.4026707 -2.680086
2020 -2.2094735 1.6161885 -2.893782
2021 0.1033199 -1.9309112 -3.579388
2022 0.4892546 -2.9339052 -3.599704
2023 0.1087616 -1.4432071 -2.827951
2024 -0.1832687 -0.8586691 -3.066624
2025 -0.8457313 -0.6332730 NA
Note:
Calculado como Exportaciones - Importaciones (% PIB), datos del Banco Mundial

Estados Unidos muestra déficit comercial en los 11 años, profundizándose de -2.87% (2015) a -3.07% (2024). Canadá pasa de déficit a superávit entre 2021-2023, y vuelve a déficit en 2024-2025. México se mantiene mayormente en déficit leve, salvo 2020, cuando registró un superávit de 1.62% del PIB — probablemente por la caída de importaciones durante la pandemia.

Incador economico, social, educ, salud, ambiental

indicadores %>% 
  filter(indicator_id %in% c(
    "GC.DOD.TOTL.GD.ZS",      # Económico: Deuda del gobierno central (% del PIB)
    "EN.GHG.CO2.PC.CE.AR5",   # Ambiental: Emisiones de CO2 (toneladas métricas per cápita)
    "SI.POV.GINI",            # Desigualdad: Índice de Gini
    "SP.DYN.LE00.IN",         # Salud: Esperanza de vida al nacer, total (años)
    "SE.XPD.TOTL.GD.ZS"       # Educacion: Gasto en educacion como porcentaje del PIB
  )) %>%
  kable(caption = "Descripción de los Indicadores") %>%
  kable_classic(html_font = "Times New Roman", font_size = 14) %>%
  add_footnote(label = "Tomado de la API del BM", notation = "symbol") %>%
  kable_styling()
Descripción de los Indicadores
indicator_id indicator unit indicator_desc source_org topics source_id source
EN.GHG.CO2.PC.CE.AR5 NA 6 , Medio ambiente 2 Indicadores del desarrollo mundial
GC.DOD.TOTL.GD.ZS Deuda del gobierno central, total (% del PIB) NA La deuda es el conjunto total de obligaciones contractuales directas del gobierno a plazo fijo con otros pendientes en una fecha particular. Incluye pasivos internos y externos, como depósitos en moneda y dinero, valores distintos de acciones y préstamos. Es el monto bruto de los pasivos del gobierno menos el monto de capital y derivados financieros en poder del gobierno. Como la deuda es un stock y no un flujo, se mide a partir de una fecha determinada, generalmente el último día del año fiscal. Fondo Monetario Internacional, Anuario de Estadísticas de Finanzas Públicas y archivos de datos, y estimaciones del PIB del Banco Mundial y la OCDE. 3 , 13 , Economía y crecimiento, Sector público 2 Indicadores del desarrollo mundial
SE.XPD.TOTL.GD.ZS Gasto público en educación, total (% del PIB) NA El gasto del gobierno general en educación (corriente, capital y transferencias) se expresa como porcentaje del PIB. Incluye gastos financiados por transferencias de fuentes internacionales al gobierno. El gobierno general generalmente se refiere a los gobiernos locales, regionales y centrales. Instituto de Estadística de la UNESCO (UIS). Servicio de descarga masiva de datos UIS.Stat. Consultado el 19 de septiembre de 2023. https://apiportal.uis.unesco.org/bdds. 4 , Educación 2 Indicadores del desarrollo mundial
SI.POV.GINI Índice de Gini NA El índice de Gini mide el grado en que la distribución del ingreso (o, en algunos casos, el gasto de consumo) entre individuos u hogares dentro de una economía se desvía de una distribución perfectamente equitativa. Una curva de Lorenz traza los porcentajes acumulados del ingreso total recibido frente al número acumulado de beneficiarios, comenzando con el individuo o el hogar más pobre. El índice de Gini mide el área entre la curva de Lorenz y una línea hipotética de igualdad absoluta, expresada como porcentaje del área máxima bajo la línea. Así, un índice de Gini de 0 representa una igualdad perfecta, mientras que un índice de 100 implica una desigualdad perfecta. Banco Mundial, Plataforma sobre Pobreza y Desigualdad. Los datos se basan en datos de encuestas primarias de hogares obtenidos de agencias estadísticas gubernamentales y departamentos nacionales del Banco Mundial. Los datos de las economías de altos ingresos provienen principalmente de la base de datos del Estudio de Ingresos de Luxemburgo. Para obtener más información y metodología, consulte http://pip.worldbank.org. 11 , Pobreza 2 Indicadores del desarrollo mundial
SP.DYN.LE00.IN Esperanza de vida al nacer, total (años) NA La esperanza de vida al nacer indica el número de años que viviría un recién nacido si los patrones de mortalidad prevalecientes en el momento de su nacimiento se mantuvieran iguales durante toda su vida.
  1. División de Población de las Naciones Unidas. Perspectivas de la población mundial: revisión 2022, o derivados de la esperanza de vida al nacer de hombres y mujeres de fuentes como: (2) informes de censos y otras publicaciones estadísticas de oficinas nacionales de estadística, (3) Eurostat: Estadísticas demográficas, (4) Estadísticas de las Naciones Unidas División. Informe de estadísticas vitales y de población (varios años), (5) Oficina del censo de EE. UU.: base de datos internacional y (6) Secretaría de la Comunidad del Pacífico: Programa de estadísticas y demografía.
8 , Salud 2 Indicadores del desarrollo mundial
* Tomado de la API del BM
# La funcion wb_data construye la consulta a la API del BM con los parametros correctos y descarga los datos en formato JSON
Seccion_indicadores <- wb_data(
  indicator = c("GC.DOD.TOTL.GD.ZS", 
                "EN.GHG.CO2.PC.CE.AR5", 
                "SI.POV.GINI",
                "SP.DYN.LE00.IN", 
                "SE.XPD.TOTL.GD.ZS"),
  country = c("MEX", "CAN", "USA"),
  start_date = 2000,
  end_date = 2023,
  lang = "es"
) %>%
  
# Renombramos las columnas de codigos a nombres mas entendibles
  rename(
    "Emisiones CO2 (per cápita)" = EN.GHG.CO2.PC.CE.AR5,
    "Deuda del gobierno central (% PIB)" = GC.DOD.TOTL.GD.ZS,
    "Gasto en educación (% PIB)" = SE.XPD.TOTL.GD.ZS,
    "Índice de Gini" = SI.POV.GINI,
    "Esperanza de vida al nacer" = SP.DYN.LE00.IN
  ) %>%
  
# quitamos las columnas innecesarias para que sea mas limpia la tabla
  select(-iso2c, -country)

# <- aquí termina la creación del objeto.

# Le damos estetica a la tabla
Seccion_indicadores %>%
  head(10) %>%
  kable(caption = "Batería de Indicadores") %>%
  kable_classic(html_font = "Times New Roman", font_size = 14) %>%
  footnote(general = "Tomado de la API del BM") %>%
  kable_styling()
Batería de Indicadores
iso3c date Emisiones CO2 (per cápita) Deuda del gobierno central (% PIB) Gasto en educación (% PIB) Índice de Gini Esperanza de vida al nacer
CAN 2000 17.69903 58.73797 5.42331 33.4 79.16683
CAN 2001 17.22633 57.45836 4.95304 33.6 79.39805
CAN 2002 17.66837 54.14903 4.99306 33.6 79.53073
CAN 2003 18.13015 51.27126 NA 33.8 79.71512
CAN 2004 17.52565 46.80095 NA 33.8 79.99220
CAN 2005 18.06012 46.06126 4.76589 33.6 80.11268
CAN 2006 17.64435 43.29081 NA 34.1 80.54366
CAN 2007 18.08050 39.15856 4.76643 33.8 80.54366
CAN 2008 17.30721 45.32040 4.62612 33.9 80.72463
CAN 2009 16.14006 53.19235 4.84058 34.0 81.06610
Note:
Tomado de la API del BM

Recursos y documentacion

Paquetes de R (CRAN)

Banco Mundial: https://cran.r-project.org/web/packages/wbstats/wbstats.pdf

FMI: https://cran.r-project.org/web/packages/imf.data/imf.data.pdf

Uso de APIs en R: https://rpubs.com/JeffryBonilla20/Uso_APIs_R

Articulos Web IBM. (s. f.). GraphQL vs. REST API. IBM Think. https://www.ibm.com/es-es/think/topics/graphql-vs-rest-api

Google Cloud. (s. f.). ¿Qué es una API de REST?https://cloud.google.com/discover/what-is-rest-api?hl=es-419