Filitación: Instituto de Ingeniería Industrial

Institución: Universidad Nacional de Cuyo

Contacto:

Resumen (Abstract)

Reconstitución colaborativa de los datos de las estadísticas de puertos hasta 2025 Esta serie de tiempo hs sido desarrollada por carreras de Ingeniería Industrial de diferentes universidades de la región. El proyecto surgió como necesidad de contar con un dataset efectivo para toma de decisión durante de pandemia.

Agradecemos a las instituciones que se encargan en estas universidades del curado y verificación de los datos que nos suministran.

Lectura de datos

Lecturas del dataset. Datos obtenidos del ranking de puertos de la CEPAL 2000-2018 El resto de los datos hasta 2025 ha sido obtenido de encuestas que se comenzaron a enviar a diferentes universidades de la región que hicieron el mayor esfuerzo por obtener las cifras oficiales. En algunos años (PANDEMIA) se ha recurrido a estimacions verificadas por panel de expertos en los principales puertos de la región bajo estudio

library(readr)
datos <- read_delim("https://themys.sid.uncu.edu.ar/rpalma/R-cran/Puertos/puertos_latam_2000_2025.csv", 
    delim = ";", escape_double = FALSE, trim_ws = TRUE)
## Rows: 1022 Columns: 7
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (3): indicator, País__ESTANDAR, unit
## dbl (2): Años__ESTANDAR, value
## lgl (2): notes_ids, source_id
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
#datos <- read_delim(
#  "puertos_latam_2000_2025.csv",
#  delim=";",
#  show_col_types = FALSE
#)

Preparación

Los datos han sido sometido a limpieza de datos sospechosos, remoción de NA e interpolación de valores con los del año anterior y posterios en caso que corresponda.

datos <- datos %>%
  rename(
    Pais = País__ESTANDAR,
    Anio = Años__ESTANDAR,
    TEU = value
  ) %>%
  mutate(
    TEU = as.numeric(TEU),
    Anio = as.numeric(Anio)
  )

head(datos)
## # A tibble: 6 × 7
##   indicator                         Pais   Anio    TEU unit  notes_ids source_id
##   <chr>                             <chr> <dbl>  <dbl> <chr> <lgl>     <lgl>    
## 1 Movimiento portuario de contened… Ex A…  2002 8.07e4 Unid… NA        NA       
## 2 Movimiento portuario de contened… Ex A…  2003 8.12e4 Unid… NA        NA       
## 3 Movimiento portuario de contened… Ex A…  2004 8.21e4 Unid… NA        NA       
## 4 Movimiento portuario de contened… Ex A…  2005 8.92e4 Unid… NA        NA       
## 5 Movimiento portuario de contened… Arge…  2002 1.07e6 Unid… NA        NA       
## 6 Movimiento portuario de contened… Arge…  2003 1.29e6 Unid… NA        NA

Gráfico interactivo

fig <- plot_ly()

for(p in unique(datos$Pais)){

    df <- datos %>%
      filter(Pais==p) %>%
      arrange(Anio)

    fig <- fig %>%
      add_lines(
        data=df,
        x=~Anio,
        y=~TEU,
        name=p,
        hovertemplate =
          paste(
            "<b>",p,"</b><br>",
            "Año: %{x}<br>",
            "TEU: %{y:,.0f}<extra></extra>"
          )
      )
}

fig %>%
  layout(
    title="Movimiento portuario de contenedores",
    xaxis=list(title="Año"),
    yaxis=list(title="TEU"),
    hovermode="x unified",
    legend=list(
      orientation="v"
    )
  )
LS0tCnRpdGxlOiAiRXZvbHVjacOzbiBkZWwgdHLDoWZpY28gZGUgY29udGVuZWRvcmVzIGVuIHB1ZXJ0b3MgZGUgQW3DqXJpY2EgTGF0aW5hIgphdXRob3I6ICJBdXRob3I6IFJpY2FyZG8gUi4gUGFsbWEgPHJpY2FyZG8ucGFsbWFAaW5nZW5pZXJpYS51bmN1eW8uZWR1LmFyPiIKZGF0ZTogImByIFN5cy5EYXRlKClgIgpvdXRwdXQ6CiAgaHRtbF9kb2N1bWVudDoKICAgIHRoZW1lOiBjb3NtbwogICAgdG9jOiB0cnVlCiAgICB0b2NfZGVwdGg6IDUKICAgIHRvY19mbG9hdDogeWVzCiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUKICAgIGNvZGVfZG93bmxvYWQ6IFRSVUUKLS0tCgpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKQoKbGlicmFyeShyZWFkcikKbGlicmFyeShkcGx5cikKbGlicmFyeShwbG90bHkpCmxpYnJhcnkoc3RyaW5ncikKYGBgCgoqRmlsaXRhY2nDs246KiBJbnN0aXR1dG8gZGUgSW5nZW5pZXLDrWEgSW5kdXN0cmlhbAoKKkluc3RpdHVjacOzbjoqIFVuaXZlcnNpZGFkIE5hY2lvbmFsIGRlIEN1eW8KCipDb250YWN0bzoqIDxyaWNhcmRvLnJwbGFtYUBnbWFpbC5jb20+CgojIFJlc3VtZW4gKEFic3RyYWN0KQoKUmVjb25zdGl0dWNpw7NuIGNvbGFib3JhdGl2YSBkZSBsb3MgZGF0b3MgZGUgbGFzIGVzdGFkw61zdGljYXMgZGUgcHVlcnRvcyBoYXN0YSAyMDI1CkVzdGEgc2VyaWUgZGUgdGllbXBvIGhzIHNpZG8gZGVzYXJyb2xsYWRhIHBvciBjYXJyZXJhcyBkZSBJbmdlbmllcsOtYSBJbmR1c3RyaWFsIGRlIGRpZmVyZW50ZXMgdW5pdmVyc2lkYWRlcyBkZSBsYSByZWdpw7NuLiBFbCBwcm95ZWN0byBzdXJnacOzIGNvbW8gbmVjZXNpZGFkIGRlIGNvbnRhciBjb24gdW4gZGF0YXNldCBlZmVjdGl2byBwYXJhIHRvbWEgZGUgZGVjaXNpw7NuIGR1cmFudGUgZGUgcGFuZGVtaWEuCgpBZ3JhZGVjZW1vcyBhIGxhcyBpbnN0aXR1Y2lvbmVzIHF1ZSBzZSBlbmNhcmdhbiBlbiBlc3RhcyB1bml2ZXJzaWRhZGVzIGRlbCBjdXJhZG8geSB2ZXJpZmljYWNpw7NuIGRlIGxvcyBkYXRvcyBxdWUgbm9zIHN1bWluaXN0cmFuLgoKCgojIExlY3R1cmEgZGUgZGF0b3MKCkxlY3R1cmFzIGRlbCBkYXRhc2V0LgpEYXRvcyBvYnRlbmlkb3MgZGVsIHJhbmtpbmcgZGUgcHVlcnRvcyBkZSBsYSBDRVBBTCAyMDAwLTIwMTgKRWwgcmVzdG8gZGUgbG9zIGRhdG9zIGhhc3RhIDIwMjUgaGEgc2lkbyBvYnRlbmlkbyBkZSBlbmN1ZXN0YXMgcXVlIHNlIGNvbWVuemFyb24gYSBlbnZpYXIgYSBkaWZlcmVudGVzIHVuaXZlcnNpZGFkZXMgZGUgbGEgcmVnacOzbiBxdWUgaGljaWVyb24gZWwgbWF5b3IgZXNmdWVyem8gcG9yIG9idGVuZXIgbGFzIGNpZnJhcyBvZmljaWFsZXMuIEVuIGFsZ3Vub3MgYcOxb3MgKFBBTkRFTUlBKSBzZSBoYSByZWN1cnJpZG8gYSBlc3RpbWFjaW9ucyB2ZXJpZmljYWRhcyBwb3IgcGFuZWwgZGUgZXhwZXJ0b3MgZW4gbG9zIHByaW5jaXBhbGVzIHB1ZXJ0b3MgZGUgbGEgcmVnacOzbiBiYWpvIGVzdHVkaW8KCmBgYHtyfQoKbGlicmFyeShyZWFkcikKZGF0b3MgPC0gcmVhZF9kZWxpbSgiaHR0cHM6Ly90aGVteXMuc2lkLnVuY3UuZWR1LmFyL3JwYWxtYS9SLWNyYW4vUHVlcnRvcy9wdWVydG9zX2xhdGFtXzIwMDBfMjAyNS5jc3YiLCAKICAgIGRlbGltID0gIjsiLCBlc2NhcGVfZG91YmxlID0gRkFMU0UsIHRyaW1fd3MgPSBUUlVFKQoKI2RhdG9zIDwtIHJlYWRfZGVsaW0oCiMgICJwdWVydG9zX2xhdGFtXzIwMDBfMjAyNS5jc3YiLAojICBkZWxpbT0iOyIsCiMgIHNob3dfY29sX3R5cGVzID0gRkFMU0UKIykKCmBgYAoKIyBQcmVwYXJhY2nDs24KCkxvcyBkYXRvcyBoYW4gc2lkbyBzb21ldGlkbyBhIGxpbXBpZXphIGRlIGRhdG9zIHNvc3BlY2hvc29zLCByZW1vY2nDs24gZGUgTkEgZSBpbnRlcnBvbGFjacOzbiBkZSB2YWxvcmVzIGNvbiBsb3MgZGVsIGHDsW8gYW50ZXJpb3IgeSBwb3N0ZXJpb3MgZW4gY2FzbyBxdWUgY29ycmVzcG9uZGEuCgpgYGB7cn0KCmRhdG9zIDwtIGRhdG9zICU+JQogIHJlbmFtZSgKICAgIFBhaXMgPSBQYcOtc19fRVNUQU5EQVIsCiAgICBBbmlvID0gQcOxb3NfX0VTVEFOREFSLAogICAgVEVVID0gdmFsdWUKICApICU+JQogIG11dGF0ZSgKICAgIFRFVSA9IGFzLm51bWVyaWMoVEVVKSwKICAgIEFuaW8gPSBhcy5udW1lcmljKEFuaW8pCiAgKQoKaGVhZChkYXRvcykKCmBgYAoKIyBHcsOhZmljbyBpbnRlcmFjdGl2bwoKYGBge3J9CgpmaWcgPC0gcGxvdF9seSgpCgpmb3IocCBpbiB1bmlxdWUoZGF0b3MkUGFpcykpewoKICAgIGRmIDwtIGRhdG9zICU+JQogICAgICBmaWx0ZXIoUGFpcz09cCkgJT4lCiAgICAgIGFycmFuZ2UoQW5pbykKCiAgICBmaWcgPC0gZmlnICU+JQogICAgICBhZGRfbGluZXMoCiAgICAgICAgZGF0YT1kZiwKICAgICAgICB4PX5BbmlvLAogICAgICAgIHk9flRFVSwKICAgICAgICBuYW1lPXAsCiAgICAgICAgaG92ZXJ0ZW1wbGF0ZSA9CiAgICAgICAgICBwYXN0ZSgKICAgICAgICAgICAgIjxiPiIscCwiPC9iPjxicj4iLAogICAgICAgICAgICAiQcOxbzogJXt4fTxicj4iLAogICAgICAgICAgICAiVEVVOiAle3k6LC4wZn08ZXh0cmE+PC9leHRyYT4iCiAgICAgICAgICApCiAgICAgICkKfQoKZmlnICU+JQogIGxheW91dCgKICAgIHRpdGxlPSJNb3ZpbWllbnRvIHBvcnR1YXJpbyBkZSBjb250ZW5lZG9yZXMiLAogICAgeGF4aXM9bGlzdCh0aXRsZT0iQcOxbyIpLAogICAgeWF4aXM9bGlzdCh0aXRsZT0iVEVVIiksCiAgICBob3Zlcm1vZGU9InggdW5pZmllZCIsCiAgICBsZWdlbmQ9bGlzdCgKICAgICAgb3JpZW50YXRpb249InYiCiAgICApCiAgKQoKYGBgCg==