¿Cómo Hacer tu Tabla General de Puntos en R?

Creo que lo más fácil sería entrar a una aplicación o tal vez entrar a una página web para poder checar la puntuación de la liga que deseas.

Eso es lo que hace la mayoría de los simpatizantes de este deporte.

Sin embargo, para los apostadores que son más analistas, supongo que les gustaría tener a la mano tablas generales de las ligas. Cuando inicié en esto, me resultaba complicado estar entrando a páginas de internet y a pestañas para ver lo que deseaba.

Aunque hoy en día una tabla general no te da información valiosa como para ganar dinero a largo plazo, es importante saber la situación actual de las ligas de futbol sólo por conocimiento y amor al arte.

Así que, si te interesa saber cómo realizar esto en R, te invito a que sigas leyendo este artíclo :)

Lo primero que hay que hacer es obtener la información necesaria para realizar dicha tarea. ¿Dónde conseguirlo de forma práctica y sencilla?

Para nuestra fortuna, hay una página muy interesante llamada http://www .football-data.co.uk/, que es un sitio donde puedes encontrar información detallada de varias ligas en formato .csv (comma- separated values)

Y lo mejor de todo es que en R puedes extraer la información fácilmente!

Para esta ocasión, vamos a extraer la información de la Liga Inglesa de la temporada 2017-2018.

Si es que no tienes algún paquete instalado, sólo en la consola escribe install.packages('Elpaquetequedesees!')

Y si es que escribes df en la consola, se tendrá que ver de la siguiente manera:

En la imagen podemos ver que viene mucha información interesante. Si deseas saber la simbología puedes entrar a ver qué significa cada columna en el siguiente enlace: http://www.football-data.co.uk/notes.txt

Pero para efectos de este artículo, sólo necesitamos saber los goles, el resultado y los puntos obtenidos.

No obstante, en esta tabla no se encuentran los puntos ganados por partido, por lo que se necesita crear una nueva variable para poder obtener la tabla final.

Para crear los puntos ganados, se puede hacer de varias formas, pero decidí hacerlo de la siguiente manera:

Prácticamente lo que se hizo aquí es crear nuevas columnas de puntos, para poder así hacer una sumatoria por equipo.

Una vez ya hechas las columnas, lo que sigue es hacer una unión por equipo. Como puedes ver, todo está dividido en Local y Visita (Home y Away respectivamente) y si queremos hacer los cálculos a como está ahorita la información, tendremos puntuaciones erróneas ya que se están calculando por separado.

Así que tenemos que unir los resultados y puntos con una función llamada dplyr::bind_rows().

Ahora sí, ya tenemos toda la información necesaria aunque no de la forma en como queremos. Por lo tanto, tenemos que agrupar la información por equipo, calcular las variables necesarias y por último ordenar de mayor a menor los puntos.

Y ya tenemos nuestra tabla general de puntos de la Premier League!

Sólo se agregaron goles a favor, goles en contra y puntos como variables. Si deseas agregar otras columnas para tu utilidad lo puedes hacer!

Ahora…Si es que deseas hacer una tabla para más de una liga, ¿Tendrías que sustituir la información cada vez que corras el código?

No necesariamente. Dentro de las reglas de programadores, una de ellas es crear una función siempre y cuando repitas el código 3 veces o más.

Aquí te dejo el código completo de cómo hacerlo:

Si es quieres utilizar el código, da click aquí para verlo.

Author

Samo Sánchez

No hay sensación más bella que el ver la pelota rodando