1_Preparando los datos

 

Preparando los datos

Primer post del blog donde cargamos los datos para poder hacer estadística con R del tráfico en el Puerto de Avilés.

Cargamos los paquetes que vamos a usar en nuestro documento:

library(readxl)
library(tidyverse)
library(lubridate)

Leemos la hoja Excel que contiene los datos de los barcos que han pasado por el puerto de Avilés en el año 2024.

url <- "https://github.com/jrcuesta/Puerto-de-Aviles/raw/refs/heads/main/puerto_aviles_16.xls"
temp_file <- tempfile(fileext = ".xls")
download.file(url, temp_file, mode = "wb")
df <- read_excel(temp_file)

puerto_aviles <- df %>%
  mutate(across(c(`Tipo Buque`, Bandera, Mercancia, Estibador, Consignatario, 
                  Muelle, Destino, Origen, Operación, IMO, Pais_dest, Pais_orig), 
                as.factor)) %>%
  mutate(`Fecha Entrada` = ymd(`Fecha Entrada`),
         `Fecha Salida` = ymd(`Fecha Salida`))

Al ir trabajando con los datos, podemos darnos cuenta que hay errores o datos duplicados, por lo que podemos ir editando la tabla puerto_aviles para corregirlos. En el caso de una de las mercancias, la tenemos don dos nombres: ROCK PHOSPHATE y FOSFATO DE ROCA, por lo que podemos cambiar uno de los nombres para que no haya confusión. Vamos a poner en todos los casos “ROCK PHOSPHATE”.

library(stringr)
puerto_aviles <- puerto_aviles %>%
  mutate(Mercancia = str_replace_all(Mercancia,                                           regex("FOSFATO DE ROCA", ignore_case = TRUE), 
                                     "ROCK PHOSPHATE")) 

Una de las preguntas que nos podemos hacer es la de a que destinos se han enviado mercancías desde el puerto de Avilés con más frecuencia en el año 2024.

puerto_aviles %>% 
  filter(`Fecha Entrada` >= "2024-01-01" & `Fecha Entrada` <= "2024-12-31") %>%
  filter(Operación == "Embarque") %>% 
  filter(Pais_dest != "NA") %>%  # Excluir NA
  #slice_max(n, n = 20) %>%  # Seleccionar los 20 destinos con más embarques
  count(Pais_dest, sort = TRUE) %>%   # Contar y ordenar por frecuencia
  slice_max(n, n = 20)
# A tibble: 20 × 2
   Pais_dest          n
   <fct>          <int>
 1 ESPAÑA            66
 2 ITALIA            64
 3 PAISES BAJOS      51
 4 FRANCIA           42
 5 BELGICA           39
 6 ALEMANIA          31
 7 SUECIA            29
 8 TURQUÍA           22
 9 DINAMARCA         20
10 INGLATERRA        19
11 PORTUGAL          19
12 FINLANDIA         15
13 GRECIA            14
14 POLONIA           12
15 ESTADOS UNIDOS    11
16 MARRUECOS         11
17 NORUEGA            9
18 BRASIL             7
19 ESCOCIA            7
20 GALES              6

En la lista vemos que principalmente los embarques eran de tipo domestico, destinadas a puertos españoles, pero existe mucho tráfico marítimo a puertos europeos.

Podemos visualizarlo de manera gráfica

puerto_aviles %>% 
  filter(`Fecha Entrada` >= "2024-01-01" & `Fecha Entrada` <= "2024-12-31") %>%
  filter(Operación == "Embarque") %>% 
  filter(Pais_dest != "NA") %>%  # Excluir NA
  count(Pais_dest, sort = TRUE) %>%  # Contar y ordenar por frecuencia
  slice_max(n, n = 20) %>%  # Seleccionar los 20 destinos con más embarques
  ggplot(aes(x = fct_reorder(Pais_dest, n), y = n)) +
  geom_bar(stat = "identity", fill = "steelblue", color = "black") +
  coord_flip() +
  labs(
    x = "Destino embarques 2024",
    y = "Número de embarques",
    title = "Top 20 destinos de embarque en 2024"
  ) +
  theme_minimal()

Podemos preguntarnos que mercancia se cargan hacia estos paises, tratando de verlo de manera gráfica. El problema es que los gráficos quedan muy saturados si mostramos todas las mercancias que se han enviado a cada país, por lo que se mostraran las mercancias que más veces se han embarcado.

puerto_aviles %>%
filter(`Fecha Entrada` >= "2024-01-01" & `Fecha Entrada` <= "2024-12-31") %>% filter(Operación == "Embarque") %>% filter(Pais_dest != "NA") %>% # Excluir NA count(Pais_dest, Mercancia, sort = TRUE) %>% slice_max(n, n = 20) %>% ggplot(aes(x = fct_reorder(Pais_dest, n), y = n, fill = Mercancia))+ geom_bar(stat = "identity", color = "black") + geom_text(aes(label = n), position = position_stack(vjust = 0.5), size = 3) + coord_flip() + labs( x = "Destino", y = "Nº embarques", title = "Principales destinos de embarque en 2024" ) + theme_minimal() + theme(legend.position = "bottom") # 🔹 Se muestra la leyenda en lugar de ocultarla

Como vemos para Italia se embarcó principalmente bobinas de acero y arcilla, pero ¿a que ciudades y que mercancía se han enviado?

puerto_aviles %>% 
  filter(`Fecha Entrada` >= "2024-01-01" & `Fecha Entrada` <= "2024-12-31") %>%
  filter(Operación == "Embarque") %>% 
  filter(Pais_dest == "ITALIA") %>% 
  count(Destino,Mercancia, sort = TRUE) 
# A tibble: 11 × 3
   Destino                  Mercancia                  n
   <fct>                    <chr>                  <int>
 1 LA SPEZIA                BOBINAS DE ACERO          24
 2 RAVENNA                  BOBINAS DE ACERO          15
 3 RAVENNA                  ARCILLA                    7
 4 SALERNO                  BOBINAS DE ACERO           4
 5 GENOA                    LINGOTES DE ZINC           3
 6 MARINA DI CARRARA        BAUXITA                    3
 7 SAVONA                   BOBINAS DE ACERO           3
 8 LA SPEZIA                PRODUCTOS SIDERURGICOS     2
 9 GENOA                    OXIDOS EN SACOS            1
10 MARINA DI CARRARA        BOBINAS DE ACERO           1
11 PORTO VESME (PORTOSCURO) ACIDO SULFURICO            1

De este modo podemos comprobar todos los envíos de mercancías a Italia en el año 2024.

Por otra parte el puerto hace una gran parte de los embarques para España, pero ¿a que ciudades y que mercancía se han enviado?

puerto_aviles %>% 
  filter(`Fecha Entrada` >= "2024-01-01" & `Fecha Entrada` <= "2024-12-31") %>%
  filter(Operación == "Embarque") %>% 
  filter(Pais_dest == "ESPAÑA") %>% 
  count(Destino, Mercancia, sort = TRUE) 
# A tibble: 24 × 3
   Destino            Mercancia            n
   <fct>              <chr>            <int>
 1 SAGUNTO            BOBINAS DE ACERO    12
 2 FERROL             PIEZAS               9
 3 CASTELLON          ARCILLA              8
 4 TARRAGONA          ACIDO SULFURICO      6
 5 CASTELLON          ACIDO SULFURICO      4
 6 BILBAO             WASH OIL             3
 7 PASAJES            BOBINAS DE ACERO     3
 8 BILBAO             BOBINAS DE ACERO     2
 9 CEUTA              BOBINAS DE ACERO     2
10 MARIN - PONTEVEDRA EOLICOS              2
# ℹ 14 more rows

Han sido 16 los destinos en España, estando a la cabeza Castellón, Sagunto y Ferrol. ¿Qué mercancias se han enviado a estos destinos?

puerto_aviles %>% 
  filter(`Fecha Entrada` >= "2024-01-01" & `Fecha Entrada` <= "2024-12-31") %>%
  filter(Operación == "Embarque") %>% 
  filter(Destino %in% c("CASTELLON", "SAGUNTO", "FERROL")) %>% 
  count(Destino, Mercancia, sort = TRUE) 
# A tibble: 6 × 3
  Destino   Mercancia            n
  <fct>     <chr>            <int>
1 SAGUNTO   BOBINAS DE ACERO    12
2 FERROL    PIEZAS               9
3 CASTELLON ARCILLA              8
4 CASTELLON ACIDO SULFURICO      4
5 FERROL    CILINDROS            1
6 FERROL    ESPATOFLUOR          1

Guardamos los datos para usarlos en el siguiente post.

# Guardar como archivo RData
save(puerto_aviles, file = "puerto_aviles.RData")
save.image("C:/BLOG/Workspaces/Puerto_Aviles/post1.RData")

Comments