PRIA práctica 5: Manipulación de datos avanzada (EVALUABLE)

Author

Jesús Turpín

Published

November 16, 2023

Instrucciones generales

Esta práctica se ha de realizar por grupos de entre 3 y 5 personas. En la cabecera del fichero entregable, debéis indicar los nombres de todos los alumnos del grupo.

Se recomienda usar un tablero kanban, como trello para comunicaciones entre miembros del equipo, seguimiento de tareas, etc.

1. Descargando datos externos

Ve a https://www.football-data.co.uk/spainm.php observa los enlaces con los datos de la liga primera y segunda división. Observa los nombres de las ligas europeas.

Descarga desde el navegador el fichero más actualizado. SP1.csv

Observa bien la url de descarga y trata de obtener el fichero dentro de script de R con la función download.file

1.1 Automatización de descargas de datos históricos

Realiza un script en R para descargar de forma automática todos los archivos desde la temporada 2000/2001 hasta la temporada pasada (2022/2023). Intenta evitar bucles innecesarios y repetición de código. Preferiblemente, usa la familia apply.

Fíjate que la estructura de la url cambia ligeramente, aunque los nombres de los archivos se llaman igual. Ponle a los archivos de salida el formato 2122_SP1.csv, donde 2122 es la temporada 2021/2022 y SP1 indica la liga (Spain, 1º div).

La actividad se va a limitar a la 1º y 2º división españolas, liga inglesa, alemana e italiana.

1.2 Descarga último dato

Usando funciones de fecha para detectar el año, implementa una función que descargue y/o reemplace (si existía) el archivo de la presente temporada. El argumento de la función será el nombre de la liga.

2. Data Wrangling

La información relevante de los datos está contenida en las variables:

Div,Date,HomeTeam,AwayTeam,FTHG,FTAG,FTR,HTHG,HTAG,HTR En la siguiente url, se indica qué es cada variable:

Significado

Realiza una exploración de los datos del último fichero

2.1 Seleccionar columnas de interés

Selecciona las columnas de interés: Div,Date,HomeTeam,AwayTeam,FTHG,FTAG,FTR,HTHG,HTAG,HTR

2.2 Pivote, union y ordenación de datos

Realiza la manipulación de datos oportuna, suponiendo que una victora son 3 puntos y un empate 1 punto. La estructura debe contener:

Puntos (pts), partidos jugados (PJ), partidos ganados (PG), perdidos (PP), empatados (PE), goles a favor (GF), goles en contra (GC)

Imprime la clasificación actual de la liga en el formato:

Clasificación

3. Base de datos Ligas

Implementa una función que reciba como parámetros la liga y la temporada e imprima la clasificación. Si la temporada es la actual, debe actualizarse el fichero, usando la función del ejercicio 1.2

Las posibles ligas y temporadas serán las indicadas en el ejercicio

4. Exploración de los datos

Representa gráficamente el promedio de goles por partido temporada a temporada en la que se vea una comparativa histórica entre primera y segunda división.

Recomendaciones

Las tareas no son totalemente dependientes unas de otras. Por lo que es factible repartir el trabajo más pesado (1 automatización de descarga histórica, 2 función de descarga actual, 3 generar clasificación a partir de resultados por partido)

Usad git hub para trabajar en equipo