Mi cuarto relatorio se baso en Scrapping de Newell’s Old’s Boys en Fbref.com

# Muestra de librerias
library("ggplot2")
library("tidyverse")
library("readxl")
library("devtools")
library("rvest")
library("dplyr")

Análisis exploratorio de datos mediante Scrapping

# URL de página como una tabla
url <- "https://fbref.com/en/squads/9bf4eaf4/Newells-Old-Boys-Stats" 

#Leer una página HTML y extraer las tablas
page <- read_html(url)
tables <- page %>% html_nodes("table") %>% html_table()
#Seleccionar la segunda y definir encabezamiento
data <- tables[[2]]

#Leer data para identificar la columna seleccionada
head(data)
## # A tibble: 6 × 20
##   Date     Time  Comp  Round Day   Venue Result    GF    GA Opponent    xG   xGA
##   <chr>    <chr> <chr> <chr> <chr> <chr> <chr>  <int> <int> <chr>    <dbl> <dbl>
## 1 2024-01… 21:15 Copa… Grou… Thu   Away  W          1     0 Cen. Có…   1.1   0.6
## 2 2024-01… 21:30 Copa… Grou… Tue   Away  W          2     0 Lanús      0.5   1.4
## 3 2024-02… 21:30 Copa… Grou… Sun   Home  W          1     0 Belgrano   0.7   0.5
## 4 2024-02… 19:00 Copa… Grou… Fri   Away  W          3     1 Unión      1.3   1  
## 5 2024-02… 21:00 Copa… Grou… Mon   Home  L          0     4 Racing …   1.4   1.1
## 6 2024-02… 19:15 Copa… Grou… Mon   Away  L          0     2 Estudia…   0.8   2.6
## # ℹ 8 more variables: Poss <int>, Attendance <lgl>, Captain <chr>,
## #   Formation <chr>, `Opp Formation` <chr>, Referee <chr>,
## #   `Match Report` <chr>, Notes <lgl>
# Filtrar los partidos de la Liga Argentina
Liga_Argentina <- data %>% filter(Comp == "Liga Argentina")

Codigo del texto y visulización gráfica

#Grafico de dispersión de Relación de Sistema de Juego y Posesión de NOB
ggplot(data %>% filter(Comp == "Liga Argentina"), 
       aes(x = Formation, y = Poss, color = Opponent)) +
  geom_point(size = 2) +
  labs(title = "Relación de Sistema de Juego y Posesión",
       x = "Sistema de Juego", y = "Posesión (%)") +
  theme_minimal() +
  theme(
    plot.title = element_text(size = 8, color = "black", face = "bold", hjust = 0.5),
    axis.text.x = element_text(angle = 45, hjust = 1))
## Warning: Removed 5 rows containing missing values or values outside the scale range
## (`geom_point()`).

Codigo del texto y visualización gráfica

#Gráfico de dispersión de Relación de Sistema de Juego Rival y Resultado de NOB
ggplot(Liga_Argentina, aes(x = `Opp Formation`, y = Result, color = Opponent)) +
  geom_point(size = 2) +
  labs(title = "Relación de Sistema de Juego Rival y Resultado",
       x = "Sistema de Juego Rival", y = "Resultado") +
  theme_minimal() +
  theme(
    plot.title = element_text(size = 8, color = "black", face = "bold", hjust = 0.5),
    axis.text.x = element_text(angle = 45, hjust = 1))

Análisis de goles por fracción de tiempo (A favor - En contra) de NOB

#Cargar y mostrar archivo csv de la hoja de análisis de goles a favor de NOB
Análisis_de_Goles_NOB <- read_excel("C:/Users/tommy/OneDrive/Escritorio/Actividad evaluativa/Documentos/Unidad 3/AED NOB/Análisis de Goles NOB.xlsx", 
                                    sheet = "Análisis de Goles a favor NOB")
View(Análisis_de_Goles_NOB)

Codigo del texto y visualización gráfica

# Sumar los goles para cada fracción de tiempo
goles_por_fraccion <- Análisis_de_Goles_NOB %>%
  summarise(
    `1'-15'` = sum(`1'-15'`, na.rm = TRUE),
    `16'-30'` = sum(`16'-30'`, na.rm = TRUE),
    `31'-45'` = sum(`31'-45'`, na.rm = TRUE),
    `46'-60'` = sum(`46'-60'`, na.rm = TRUE),
    `61'-75'` = sum(`61'-75'`, na.rm = TRUE),
    `76'-90'` = sum(`76'-90'`, na.rm = TRUE)
  ) %>%
  pivot_longer(cols = everything(), names_to = "Fracción de Tiempo", values_to = "Suma_Goles")

# Crea el gráfico de barras de goles a favor por fracción de tiempo de NOB
ggplot(goles_por_fraccion, aes(x = `Fracción de Tiempo`, y = Suma_Goles)) +
  geom_bar(stat = "identity", fill = "darkred") +
  labs(title = "Frecuencia de goles a favor por fracción de tiempo",
       subtitle = "Liga Argentina - Temporada 2024",
       x = "Fracción de Tiempo",
       y = "Goles") +
  theme_minimal()+
  theme(plot.title = element_text(size = 8, color = "black", face = "bold", hjust = 0.5))+
  theme(plot.subtitle = element_text(size = 6, color = "black", face = "bold", hjust = 0.5))

Análisis de goles por fracción de tiempo (A favor - En contra) de NOB

#Cargar y mostrar archivo csv de la hoja de análisis de goles en contra de NOB
Análisis_de_Goles_NOB <- read_excel("C:/Users/tommy/OneDrive/Escritorio/Actividad evaluativa/Documentos/Unidad 3/AED NOB/Análisis de Goles NOB.xlsx", 
                                    sheet = "Análisis de Goles en contra NOB")
View(Análisis_de_Goles_NOB)

Codigo del texto y visualización del gráfica

# Crea el gráfico de barras de goles en contra por fracción de tiempo de NOB
ggplot(goles_por_fraccion, aes(x = `Fracción de Tiempo`, y = Suma_Goles)) +
  geom_bar(stat = "identity", fill = "black") +
  labs(title = "Frecuencia de goles recibidos por fracción de tiempo",
       subtitle = "Liga Argentina - Temporada 2024",
       x = "Fracción de Tiempo",
       y = "Goles") +
  theme_minimal()+
  theme(plot.title = element_text(size = 8, color = "black", face = "bold", hjust = 0.5))+
  theme(plot.subtitle = element_text(size = 6, color = "black", face = "bold", hjust = 0.5))