Consultoría

Minutos de juego y puntos. El Espanyol, sus finales de partido y mis enfados

Pienso que el Espanyol este 2024 se está dejando muchos puntos al final de los partidos. Cuando el partido llega al minuto 75 pierdo años de vida. ¿Es verdad que el Espanyol se está dejando puntos en el tramo final del partido? Vamos a estudiarlo numéricamente con worldfootballR y datos de FBRef empleando funciones que ya se han trabajado con anterioridad.

El primer paso será obtener todos los partidos de la Liga Hypermotion de este 2024 con fb_mach_url

Los porteros del Espanyol y la regresión binomial negativa

En la temporada 22/23 de la Liga el RCD Espanyol descendió a segunda división y los aficionados culpamos en parte los problemas que hubo durante toda la temporada con los porteros y quería analizar si hubo diferencias entre los porteros que jugaron esa temporada en el Espanyol y Diego López que jugó como portero titular la temporada anterior, dejaremos de lado las intervenciones de Joan García y Olazábal.

Comenzamos con un código conocido.

Alineaciones de equipos de fútbol con worldfootballR de Rstats

Para obtener datos sobre fútbol de distintos proveedores disponemos de la librería de rstats worldfootballR , está disponible en CRAN, con ella podremos extraer datos de:

Por supuesto, lo primero que tenéis que hacer es navegar por esas web y pensad en como haríais el scraping, de ese modo entenderéis mejor como van a trabajar las funciones que tiene este paquete. Al estar en CRAN no vamos a empezar por instalar así que directamente vamos a obtener los partidos de la Liga con un rango de fechas.

Pintando campos de fútbol con #rstats y entendiendo funciones de densidad

La librería de rstats ggsoccer permite representar campos de fútbol con un código bastante sencillo, a continuación se plantean una serie de ejemplos para empezar a ilustrar su uso y quiero que me de pie a escribir sobre la función de densidad de una variable, pero empezamos por el principio instalar el paquete y empezar a usar.

# install.packages("remotes")
# remotes::install_github("torvaney/ggsoccer")
library(tidyverse)
library(ggsoccer)

# Lo pintamos en el campo
ggplot() +
  annotate_pitch() +
  ggtitle("Campo sin nada") +
  theme_pitch()

El código habla por si solo, muy sencillo a ggplot añadimos annotate_pitch() y theme_pitch(). Ahora sería necesario añadir información a este terreno de juego y para ello recuperamos una entrada anterior donde podíamos disponer de datos de eventing de Statsbomb que nos van a permitir pintar mapas de calor o heatmaps si nos molamos.

Datos de eventing gratuitos en Statsbomb

Da comienzo una serie de entradas sobre datos, fútbol y rstats. Todas estas entradas estarán disponibles en mi repositorio de github. La función de estos artículos es poner en orden cosas que yo he ido aprendiendo, no olvidar esas cosas y servir de ayuda a nuevos analistas. Para entender mejor esta serie recomiendo leer el libro Introducción a la Estadística para Científicos de Datos con R que yo mismo escribí.

Introducción a la Estadística para Científicos de Datos. Capítulo 16. Modelización estadística. Conociendo los datos

Establecer un método para la modelización estadística

En el capítulo 3 del ensayo se hacía mención al universo tidyverse y las librerías de R que englobaba, además de esas librerías hay una publicación de Hadley Wickham y Garret Grolemund R for data sience donde aparece la siguiente imagen:

Esa imagen describe un método para realizar ciencia de datos con R. Como en la anterior figura, este capítulo se dedicará a describir e ilustrar un método de modelización que recoge todo lo trabajado con anterioridad en el ensayo, para ello se emplea el ejemplo que ha servido de hilo conductor en otros capítulos. El ya conocido modelo de venta cruzada en el sector asegurador :

Resultados de La Liga con rstats. Estudiando gráficamente rachas


Vamos a crear un gráfico con #rstats que recoja los resultados de La Liga equipo a equipo para poder estudiar rachas e «intuir» como puede ser la segunda vuelta. Además, este ejercicio es un buen uso del paquete worldfootballR y la función de ggplot geom_tile además me va a servir para animarme esta segunda vuelta para que el Español no sufra. La web que vamos a emplear para el trabajo es FBREF. Empezamos.

analisisydecision se une a Scout Analyst. Primer curso de Estadística para analistas

Me uno al equipo de Scout Analyst poniendo en marcha el primer curso de estadística para analistas. Si deseas recibir información acerca del curso visita la siguiente página:

Estadística para analistas – Scout Analyst

Formación orientada a enseñar aspectos fundamentales de la estadística con otro lenguaje de forma que todos esos términos que son imprescindibles en el entorno de la Ciencia de Datos sean familiares para aquellos a los que les cuesta aprender estadística. No lo sabes pero en tus impresiones, en tus opiniones haces estadística y todo está vinculado. Te contaremos como haces estadística con datos futbolísticos de una forma diferente y con una interacción constante conmigo.

Trabajar con los datos de Power BI desde R para hacer un modelo de regresión lineal

Vídeo dedicado al uso de la librería de R pbix. Responde a una duda planteada por un lector que deseaba realizar un modelo de regresión lineal con Power BI. Imagino que se podrá programar en DAX, pero es mejor llevar los datos, las tablas necesarias, de Power BI a un software específico para poder realizar el modelo como es Python o R en este caso.

Desde Power BI podemos realizar scripts de R pero recomiendo este primer paso para crear y validar el modelo, posteriormente podemos poner el programa de R con nuestra regresión lineal directamente en Power BI. El código empleado es:

Truco Excel. Repetir celdas en función de los valores de otra celda

En alguna ocasión me habéis planteado como repetir celdas en Excel en función del valor de una celda, es decir, repetir una celda tantas veces como nos indica otra celda. Disponía de una versión con fórmulas más complejas que programar el proceso en visual basic, si alguien está interesado cuelgo un ejemplo en Excel sin describir el funcionamiento porque es muy complejo, quizá en el futuro retome esas fórmulas e intente simplificar el proceso. Hoy os traigo esta tarea de repetir celdas en Excel en base a otra celda pero insertando y usando fórmulas sencillas. Para el ejemplo partiríamos de esta situación:

youtube-dl para descargar videos y mplayer para pasar esos vídeos a imágenes

Si deseamos descargar vídeos de Youtube tenemos youtube-dl pero podemos descargar de otras web y en esta entrada vamos a ver como. Además podemos transformar esas entradas en fotogramas, esto es útil a la hora de analizar imágenes, podríamos estudiar la presencia de una marca en un partido de fútbol, identificar las matrículas que pasan delante de determinada cámara u otros casos de uso. Y en uno de esos casos precisamente J.L. Cañadas del blog hermano Muestrear no es Pecado me ha descubierto la librería youtube-dl y la creación de scripts para tranformar videos en imágenes que posteriormente podemos analizar. El caso de mplayer es distinto, lo conocía, Cañadas me ha descubierto el ffmpeg que ofrece más posibilidades.

Mi curriculum con RMarkdown y pagedown

Me he puesto a actualizar mi curriculum y a la vez estoy aprendiendo markdown y en ese proceso Jose Luis Cañadas me dijo «usa pagedown». No era yo fan de Rmarkdown, pero me estoy reconvirtiendo. Me está pasando con markdown algo parecido a lo que me pasó con el picante, no me gustaba hasta que lo probé y desde entonces me encanta. ¿Por qué lo probé? Porque había decidido tomarme un tiempo sabático para elaborar una serie de cursos, webminar y actualizar la web que son 12 años sin modificaciones. Tras 3 meses sabáticos estoy harto de no trabajar , son 25 años seguidos trabajando, 20 gestionando datos, y otros 5 en los que hice de todo (hasta servir en la Armada). No soy capaz de estar sin trabajar, el primer paso es elaborar un resumen de mi vida profesional y dar un nuevo formato porque llevo con el mismo unos 12 años.

Entender una blockchain con R

Una introducción de bajo nivel (sin entrar mucho en tecnología) a los blockchain con #rtats. Es una entrada destinada a comprender que es un blockchain desde otro punto de vista, no sólo criptografía o criptomoneda, podemos poner información que sólo conoce el origen. ¿Os imagináis si pusieran a disposición de los científicos de datos información sobre todos los españoles identificados por NIF y si tiene o no coronavirus? Los científicos de datos podrían trabajar de forma anónima con esos datos y ayudar a establecer las zonas libres de covid-19, persona a persona de forma perfectamente anónima. Aunque no se descarta que algún cabestro se dedicara a desencriptar…