Introducción

Instalar paquetes y llamar librerías

#install.packages("WDI")
library(WDI)
#install.packages("wbstats")
library(wbstats)
#install.packages("tidyverse")
library(ggplot2)
#install.packages("gplots")
library(gplots)
## 
## ---------------------
## gplots 3.3.0 loaded:
##   * Use citation('gplots') for citation info.
##   * Homepage: https://talgalili.github.io/gplots/
##   * Report issues: https://github.com/talgalili/gplots/issues
##   * Ask questions: https://stackoverflow.com/questions/tagged/gplots
##   * Suppress this message with: suppressPackageStartupMessages(library(gplots))
## ---------------------
## 
## Attaching package: 'gplots'
## The following object is masked from 'package:stats':
## 
##     lowess
#install.packages("plm") #analizar datos de panel 
library(plm)

##Banco Mundial # Obtener la información de 1 país

PIB_MEX <- wb_data(country = "MX", indicator = "NY.GDP.PCAP.CD",
start_date=1900, end_date=2025)
summary(PIB_MEX)
##     iso2c              iso3c             country               date     
##  Length:65          Length:65          Length:65          Min.   :1960  
##  Class :character   Class :character   Class :character   1st Qu.:1976  
##  Mode  :character   Mode  :character   Mode  :character   Median :1992  
##                                                           Mean   :1992  
##                                                           3rd Qu.:2008  
##                                                           Max.   :2024  
##  NY.GDP.PCAP.CD        unit            obs_status          footnote        
##  Min.   :  355.1   Length:65          Length:65          Length:65         
##  1st Qu.: 1465.5   Class :character   Class :character   Class :character  
##  Median : 4183.9   Mode  :character   Mode  :character   Mode  :character  
##  Mean   : 5238.3                                                           
##  3rd Qu.: 9097.9                                                           
##  Max.   :14185.8                                                           
##   last_updated       
##  Min.   :2026-01-28  
##  1st Qu.:2026-01-28  
##  Median :2026-01-28  
##  Mean   :2026-01-28  
##  3rd Qu.:2026-01-28  
##  Max.   :2026-01-28
ggplot(PIB_MEX, aes(x= date, y=NY.GDP.PCAP.CD)) +
geom_point () +
geom_line() +
labs(title="PIB per Capita en México (Current USD$)", x = "Año",
y = "Valor")

Obtener la información de varios paises

PIB_PANEL <- wb_data(country = c("MX","US","CA"), indicator =
"NY.GDP.PCAP.CD",
start_date=1900, end_date=2025)
summary(PIB_PANEL)
##     iso2c              iso3c             country               date     
##  Length:195         Length:195         Length:195         Min.   :1960  
##  Class :character   Class :character   Class :character   1st Qu.:1976  
##  Mode  :character   Mode  :character   Mode  :character   Median :1992  
##                                                           Mean   :1992  
##                                                           3rd Qu.:2008  
##                                                           Max.   :2024  
##  NY.GDP.PCAP.CD        unit            obs_status          footnote        
##  Min.   :  355.1   Length:195         Length:195         Length:195        
##  1st Qu.: 4136.1   Class :character   Class :character   Class :character  
##  Median :10664.5   Mode  :character   Mode  :character   Mode  :character  
##  Mean   :19606.2                                                           
##  3rd Qu.:30713.4                                                           
##  Max.   :84534.0                                                           
##   last_updated       
##  Min.   :2026-01-28  
##  1st Qu.:2026-01-28  
##  Median :2026-01-28  
##  Mean   :2026-01-28  
##  3rd Qu.:2026-01-28  
##  Max.   :2026-01-28
ggplot(PIB_PANEL, aes(x= date, y=NY.GDP.PCAP.CD, color =iso3c)) +
geom_point () +
geom_line() +
labs(title="PIB per Capita en Norteamérica (Current USD$)", x = "Año",
y = "Valor")

Obtener la información de varios indicadores en varios paises

MEGAPIB<- wb_data(country = c("MX","US","CA"), indicator = c("NY.GDP.PCAP.CD",
                                                             "SP.DYN.LE00.IN"), start_date=1900, end_date=2025)
summary(MEGAPIB)
##     iso2c              iso3c             country               date     
##  Length:195         Length:195         Length:195         Min.   :1960  
##  Class :character   Class :character   Class :character   1st Qu.:1976  
##  Mode  :character   Mode  :character   Mode  :character   Median :1992  
##                                                           Mean   :1992  
##                                                           3rd Qu.:2008  
##                                                           Max.   :2024  
##                                                                         
##  NY.GDP.PCAP.CD    SP.DYN.LE00.IN 
##  Min.   :  355.1   Min.   :53.57  
##  1st Qu.: 4136.1   1st Qu.:70.78  
##  Median :10664.5   Median :74.24  
##  Mean   :19606.2   Mean   :73.19  
##  3rd Qu.:30713.4   3rd Qu.:77.51  
##  Max.   :84534.0   Max.   :82.16  
##                    NA's   :3

Heterogeneidad

Variación entre individuos

plotmeans(NY.GDP.PCAP.CD ~ country, main = "Heterogeneidad entre países",
xlab = "País", ylab = "PIB per Cápita", data=MEGAPIB)
## Warning in arrows(x, li, x, pmax(y - gap, li), col = barcol, lwd = lwd, :
## zero-length arrow is of indeterminate angle and so skipped
## Warning in arrows(x, ui, x, pmin(y + gap, ui), col = barcol, lwd = lwd, :
## zero-length arrow is of indeterminate angle and so skipped

Interpretación:

Alta Heterogeneidad: Si los puntos (medias) están muy separados entre países.
Baja Heterogeneidad: Si los puntos (medias) están cerca uno de otros.
En este caso, EUA y Canadá tienen un PIB per Cápita mayor que México, mostrando alta heterogeneidad entre países.

LS0tCnRpdGxlOiAiSEVURVJPR0VORUlEQUQiCmF1dGhvcjogIlhpbWVuYSBCb2xhw7FvcywgTWFyaWFtIExpc2JldGggU2FudGFuYSwgRnJhbmNpc2NvIEphdmllciBNYXJ0aW5leiwgTWF4aW1pbGlhbm8gR3VldmFyYSIKZGF0ZTogIjIwMjYtMDItMTAiCm91dHB1dDoKICBodG1sX2RvY3VtZW50OiAKICAgIHRvYzogVFJVRQogICAgdG9jX2Zsb2F0OiBUUlVFCiAgICBjb2RlX2Rvd25sb2FkOiBUUlVFIAogICAgdGhlbWU6IGNlcnVsZWFuCi0tLQoKIVtdKGh0dHBzOi8vd3d3LmdpZnNzLmNvbS9lY29ub21pYS9kaW5lcm8vaW1hZ2VzL2RpbmVyby0wMi5naWYpCgojIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPkludHJvZHVjY2nDs248L3NwYW4+CgoKIyA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij5JbnN0YWxhciBwYXF1ZXRlcyB5IGxsYW1hciBsaWJyZXLDrWFzPC9zcGFuPgpgYGB7cn0KI2luc3RhbGwucGFja2FnZXMoIldESSIpCmxpYnJhcnkoV0RJKQojaW5zdGFsbC5wYWNrYWdlcygid2JzdGF0cyIpCmxpYnJhcnkod2JzdGF0cykKI2luc3RhbGwucGFja2FnZXMoInRpZHl2ZXJzZSIpCmxpYnJhcnkoZ2dwbG90MikKI2luc3RhbGwucGFja2FnZXMoImdwbG90cyIpCmxpYnJhcnkoZ3Bsb3RzKQojaW5zdGFsbC5wYWNrYWdlcygicGxtIikgI2FuYWxpemFyIGRhdG9zIGRlIHBhbmVsIApsaWJyYXJ5KHBsbSkKYGBgCgojI0JhbmNvIE11bmRpYWwKIyBPYnRlbmVyIGxhIGluZm9ybWFjacOzbiBkZSAxIHBhw61zCmBgYHtyfQpQSUJfTUVYIDwtIHdiX2RhdGEoY291bnRyeSA9ICJNWCIsIGluZGljYXRvciA9ICJOWS5HRFAuUENBUC5DRCIsCnN0YXJ0X2RhdGU9MTkwMCwgZW5kX2RhdGU9MjAyNSkKc3VtbWFyeShQSUJfTUVYKQpnZ3Bsb3QoUElCX01FWCwgYWVzKHg9IGRhdGUsIHk9TlkuR0RQLlBDQVAuQ0QpKSArCmdlb21fcG9pbnQgKCkgKwpnZW9tX2xpbmUoKSArCmxhYnModGl0bGU9IlBJQiBwZXIgQ2FwaXRhIGVuIE3DqXhpY28gKEN1cnJlbnQgVVNEJCkiLCB4ID0gIkHDsW8iLAp5ID0gIlZhbG9yIikKYGBgCgojIE9idGVuZXIgbGEgaW5mb3JtYWNpw7NuIGRlIHZhcmlvcyBwYWlzZXMKYGBge3J9ClBJQl9QQU5FTCA8LSB3Yl9kYXRhKGNvdW50cnkgPSBjKCJNWCIsIlVTIiwiQ0EiKSwgaW5kaWNhdG9yID0KIk5ZLkdEUC5QQ0FQLkNEIiwKc3RhcnRfZGF0ZT0xOTAwLCBlbmRfZGF0ZT0yMDI1KQpzdW1tYXJ5KFBJQl9QQU5FTCkKZ2dwbG90KFBJQl9QQU5FTCwgYWVzKHg9IGRhdGUsIHk9TlkuR0RQLlBDQVAuQ0QsIGNvbG9yID1pc28zYykpICsKZ2VvbV9wb2ludCAoKSArCmdlb21fbGluZSgpICsKbGFicyh0aXRsZT0iUElCIHBlciBDYXBpdGEgZW4gTm9ydGVhbcOpcmljYSAoQ3VycmVudCBVU0QkKSIsIHggPSAiQcOxbyIsCnkgPSAiVmFsb3IiKQpgYGAKCiMgT2J0ZW5lciBsYSBpbmZvcm1hY2nDs24gZGUgdmFyaW9zIGluZGljYWRvcmVzIGVuIHZhcmlvcyBwYWlzZXMKYGBge3J9Ck1FR0FQSUI8LSB3Yl9kYXRhKGNvdW50cnkgPSBjKCJNWCIsIlVTIiwiQ0EiKSwgaW5kaWNhdG9yID0gYygiTlkuR0RQLlBDQVAuQ0QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNQLkRZTi5MRTAwLklOIiksIHN0YXJ0X2RhdGU9MTkwMCwgZW5kX2RhdGU9MjAyNSkKc3VtbWFyeShNRUdBUElCKQpgYGAKCiMgSGV0ZXJvZ2VuZWlkYWQKCiMgVmFyaWFjacOzbiBlbnRyZSBpbmRpdmlkdW9zCmBgYHtyfQpwbG90bWVhbnMoTlkuR0RQLlBDQVAuQ0QgfiBjb3VudHJ5LCBtYWluID0gIkhldGVyb2dlbmVpZGFkIGVudHJlIHBhw61zZXMiLAp4bGFiID0gIlBhw61zIiwgeWxhYiA9ICJQSUIgcGVyIEPDoXBpdGEiLCBkYXRhPU1FR0FQSUIpCmBgYAoKIyBJbnRlcnByZXRhY2nDs246CipBbHRhIEhldGVyb2dlbmVpZGFkKjogU2kgbG9zIHB1bnRvcyAobWVkaWFzKSBlc3TDoW4gbXV5IHNlcGFyYWRvcyBlbnRyZSBwYcOtc2VzLiAgIAoqQmFqYSBIZXRlcm9nZW5laWRhZCo6IFNpIGxvcyBwdW50b3MgKG1lZGlhcykgZXN0w6FuIGNlcmNhIHVubyBkZSBvdHJvcy4gICAKRW4gZXN0ZSBjYXNvLCBFVUEgeSBDYW5hZMOhIHRpZW5lbiB1biBQSUIgcGVyIEPDoXBpdGEgbWF5b3IgcXVlIE3DqXhpY28sIG1vc3RyYW5kbyBhbHRhIGhldGVyb2dlbmVpZGFkIGVudHJlIHBhw61zZXMuICAgCiAgIAoKCgoKCgoKCgoK