Llamar librerías

library(WDI)
## Warning: package 'WDI' was built under R version 4.1.3
library(wbstats)
## Warning: package 'wbstats' was built under R version 4.1.3
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.1.3
## Warning: package 'ggplot2' was built under R version 4.1.3
## Warning: package 'tibble' was built under R version 4.1.3
## Warning: package 'tidyr' was built under R version 4.1.3
## Warning: package 'readr' was built under R version 4.1.3
## Warning: package 'purrr' was built under R version 4.1.3
## Warning: package 'dplyr' was built under R version 4.1.3
## Warning: package 'stringr' was built under R version 4.1.3
## Warning: package 'forcats' was built under R version 4.1.3
## Warning: package 'lubridate' was built under R version 4.1.3
## -- Attaching core tidyverse packages ------------------------ tidyverse 2.0.0 --
## v dplyr     1.1.0     v readr     2.1.4
## v forcats   1.0.0     v stringr   1.5.0
## v ggplot2   3.4.1     v tibble    3.2.1
## v lubridate 1.9.2     v tidyr     1.3.0
## v purrr     1.0.1     
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
## i Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(forecast)
## Warning: package 'forecast' was built under R version 4.1.3
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library(ggplot2)

Pronóstico #1: PIB en México

gdp_data <- wb_data(country = "MX", indicator = "NY.GDP.PCAP.CD", start_date= 1950, end_date=2022)
# Consultar country en: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
# Consultar indicator en: https://data.worldbank.org/indicator
summary(gdp_data)
##     iso2c              iso3c             country               date     
##  Length:62          Length:62          Length:62          Min.   :1960  
##  Class :character   Class :character   Class :character   1st Qu.:1975  
##  Mode  :character   Mode  :character   Mode  :character   Median :1990  
##                                                           Mean   :1990  
##                                                           3rd Qu.:2006  
##                                                           Max.   :2021  
##  NY.GDP.PCAP.CD        unit            obs_status          footnote        
##  Min.   :  359.5   Length:62          Length:62          Length:62         
##  1st Qu.: 1353.7   Class :character   Class :character   Class :character  
##  Median : 3784.7   Mode  :character   Mode  :character   Mode  :character  
##  Mean   : 4724.5                                                           
##  3rd Qu.: 8267.6                                                           
##  Max.   :11076.1                                                           
##   last_updated       
##  Min.   :2023-03-01  
##  1st Qu.:2023-03-01  
##  Median :2023-03-01  
##  Mean   :2023-03-01  
##  3rd Qu.:2023-03-01  
##  Max.   :2023-03-01
head(gdp_data)
## # A tibble: 6 x 9
##   iso2c iso3c country  date NY.GDP.PCAP.CD unit  obs_status footnote
##   <chr> <chr> <chr>   <dbl>          <dbl> <chr> <chr>      <chr>   
## 1 MX    MEX   Mexico   1960           360. <NA>  <NA>       <NA>    
## 2 MX    MEX   Mexico   1961           378. <NA>  <NA>       <NA>    
## 3 MX    MEX   Mexico   1962           393. <NA>  <NA>       <NA>    
## 4 MX    MEX   Mexico   1963           424. <NA>  <NA>       <NA>    
## 5 MX    MEX   Mexico   1964           486. <NA>  <NA>       <NA>    
## 6 MX    MEX   Mexico   1965           511. <NA>  <NA>       <NA>    
## # i 1 more variable: last_updated <date>
PIB <- gdp_data$NY.GDP.PCAP.CD

# Generar serie de tiempo
PIB_st <- ts(data= PIB, start = c(1960), frequency = 1)
PIB_st
## Time Series:
## Start = 1960 
## End = 2021 
## Frequency = 1 
##  [1]   359.5451   378.2120   392.9346   424.1896   485.8001   511.0207
##  [7]   550.4699   581.7295   622.4251   666.7434   706.3132   755.3325
## [13]   844.1744  1000.9379  1264.3584  1499.3556  1472.6589  1314.0197
## [19]  1598.4655  2039.6463  3029.8874  3812.5808  2612.7592  2166.4613
## [25]  2507.3121  2607.3803  1765.1849  1902.4381  2302.0270  2759.4457
## [31]  3196.9189  3756.8899  4272.7860  5778.9387  5976.5236  4002.1743
## [37]  4487.2918  5370.2175  5555.7372  6230.6956  7232.8788  7613.1769
## [43]  7650.8988  7120.3848  7525.4652  8321.8535  9125.4226  9719.9205
## [49] 10119.8362  8104.9076  9399.9709 10341.5210 10376.0577 10865.6802
## [55] 11076.0925  9753.3800  8875.0623  9434.3865  9857.0288 10145.1702
## [61]  8655.0007 10045.6805
## attr(,"label")
## [1] GDP per capita (current US$)
# Generar pronóstico
modelo_PIB <- auto.arima(PIB_st, D=1)
modelo_PIB
## Series: PIB_st 
## ARIMA(0,1,0) with drift 
## 
## Coefficients:
##          drift
##       158.7891
## s.e.   88.9207
## 
## sigma^2 = 490358:  log likelihood = -485.69
## AIC=975.38   AICc=975.59   BIC=979.6
pronostico_PIB <- forecast(modelo_PIB, level=c(95), h=5)
pronostico_PIB
##      Point Forecast    Lo 95    Hi 95
## 2022       10204.47 8831.993 11576.95
## 2023       10363.26 8422.284 12304.23
## 2024       10522.05 8144.849 12899.25
## 2025       10680.84 7935.884 13425.79
## 2026       10839.63 7770.675 13908.58
plot(pronostico_PIB, main="Pronóstico a 5 años del PIB en México")

Información de varios países

more_gdp_data <- wb_data(country = c("NG","HT","KE"), indicator = "NY.GDP.PCAP.CD", start_date= 1950, end_date=2022)

ggplot(data = more_gdp_data) +
  geom_point(mapping= aes( x=date, y=NY.GDP.PCAP.CD, color = country, shape = country))

LS0tDQp0aXRsZTogIkFjdGl2aWRhZCBJbmRpdmlkdWFsIDUiDQphdXRob3I6ICJSYcO6bCBBbGVqYW5kcm8gQ2FudMO6IFbDoXpxdWV6IEEwMTA4NzY4MyINCmRhdGU6ICcyMDIzLTAzLTIyJw0Kb3V0cHV0OiANCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IHRydWUNCiAgICB0b2NfZmxvYXQ6IHRydWUNCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQotLS0NCg0KIVtdKEM6XFxVc2Vyc1xcTDAzNTMwNjIxXFxEZXNrdG9wXFxzZXJpZXMuUE5HKQ0KDQojIyMgTGxhbWFyIGxpYnJlcsOtYXMNCmBgYHtyfQ0KbGlicmFyeShXREkpDQpsaWJyYXJ5KHdic3RhdHMpDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkoZm9yZWNhc3QpDQpsaWJyYXJ5KGdncGxvdDIpDQpgYGANCg0KIyMjIFByb27Ds3N0aWNvICMxOiBQSUIgZW4gTcOpeGljbw0KYGBge3J9DQpnZHBfZGF0YSA8LSB3Yl9kYXRhKGNvdW50cnkgPSAiTVgiLCBpbmRpY2F0b3IgPSAiTlkuR0RQLlBDQVAuQ0QiLCBzdGFydF9kYXRlPSAxOTUwLCBlbmRfZGF0ZT0yMDIyKQ0KIyBDb25zdWx0YXIgY291bnRyeSBlbjogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPXzMxNjYtMV9hbHBoYS0yDQojIENvbnN1bHRhciBpbmRpY2F0b3IgZW46IGh0dHBzOi8vZGF0YS53b3JsZGJhbmsub3JnL2luZGljYXRvcg0Kc3VtbWFyeShnZHBfZGF0YSkNCmhlYWQoZ2RwX2RhdGEpDQpQSUIgPC0gZ2RwX2RhdGEkTlkuR0RQLlBDQVAuQ0QNCg0KIyBHZW5lcmFyIHNlcmllIGRlIHRpZW1wbw0KUElCX3N0IDwtIHRzKGRhdGE9IFBJQiwgc3RhcnQgPSBjKDE5NjApLCBmcmVxdWVuY3kgPSAxKQ0KUElCX3N0DQoNCiMgR2VuZXJhciBwcm9uw7NzdGljbw0KbW9kZWxvX1BJQiA8LSBhdXRvLmFyaW1hKFBJQl9zdCwgRD0xKQ0KbW9kZWxvX1BJQg0KDQpwcm9ub3N0aWNvX1BJQiA8LSBmb3JlY2FzdChtb2RlbG9fUElCLCBsZXZlbD1jKDk1KSwgaD01KQ0KcHJvbm9zdGljb19QSUINCnBsb3QocHJvbm9zdGljb19QSUIsIG1haW49IlByb27Ds3N0aWNvIGEgNSBhw7FvcyBkZWwgUElCIGVuIE3DqXhpY28iKQ0KYGBgDQoNCiMjIyBJbmZvcm1hY2nDs24gZGUgdmFyaW9zIHBhw61zZXMNCmBgYHtyfQ0KbW9yZV9nZHBfZGF0YSA8LSB3Yl9kYXRhKGNvdW50cnkgPSBjKCJORyIsIkhUIiwiS0UiKSwgaW5kaWNhdG9yID0gIk5ZLkdEUC5QQ0FQLkNEIiwgc3RhcnRfZGF0ZT0gMTk1MCwgZW5kX2RhdGU9MjAyMikNCg0KZ2dwbG90KGRhdGEgPSBtb3JlX2dkcF9kYXRhKSArDQogIGdlb21fcG9pbnQobWFwcGluZz0gYWVzKCB4PWRhdGUsIHk9TlkuR0RQLlBDQVAuQ0QsIGNvbG9yID0gY291bnRyeSwgc2hhcGUgPSBjb3VudHJ5KSkNCmBgYA0KDQo=