The Clean Shot

The Clean Shot

Tutoriales R

TOP 5 ACB de la semana y TOP freshman de la NCAA

Y como crear una librería con nuestros datos de los boxscore de la Euroliga

Avatar de Ivo Villanueva
Ivo Villanueva
nov 14, 2025
∙ De pago

TOP 5 mejores de la jornada 6 en la ACB y los 3 peores

Revisando los datos de la Jornada 6 en la ACB, quiero compararlos con otra métrica que, en mi opinión, refleja mejor el desempeño en un partido, ya que pondera cada estadística según su importancia en el juego.

Esta métrica no es mía la inventó Kevin Ferrigan , el DRE -Daily RAPM Estimate- . No se centra solo en la producción bruta, o sea sumo lo bueno y resto lo malo, si no que lo hace en que aporta cada cosa en el partido.

1. Melwin Pantzar (18.9)

Su partido contra CAZ fue el más influyente de la jornada. En 21 minutos firmó 14 asistencias, como dije en X, ¡¡14!! y 4 robos, con un +22 de mas menos y 0 perdidas. Pantzar destacó en eficiencia en la creación de juego y el impacto defensivo, aunque no destacó en anotación.

2. Isaiah Wong (14.9)

En 15 minutos produjo 20 puntos y 3 robos, sin pérdidas y con un 4 de 5 en triples.

3. Nico Brussino (13.0)

Actuación muy eficiente: 18 puntos en 31 minutos, sin pérdidas y con buenos porcentajes.

4. Marcelinho Huertas (12.9)

La Valoración es la manta que todo lo tapa. Huertas tuvo un partido brillante en producción -28 puntos y 9 asistencias - que le coronaron hasta las 700; elegido como el jugador de la jornada, pero con tres pérdidas y 0/3 en triples y 0/9 en tiros libres. El DRE tiende a reducir el valor de este tipo de actuaciones y es por eso que me encanta, en una primera visión 37 de valoración es una gran actuación, que lo es, que compensa ese bajo rendimiento en eficiencia.

5. Luka Božić (12.7)

Luka completa con 19 puntos, 6 rebotes y 5 asistencias. Su consistencia y equilibrio en diferentes apartados lo mantienen en el TOP alto de la métrica, aunque con un impacto en en el marcador más moderado que los anteriores.

En el otro extremo, los he destacado porque no es habitual ver a jugadorazos como Sergio de Larrea, Brancou Badio y Bojan Dubljević qué cierren la tabla con DRE negativo. Los tres casos coinciden en bajos porcentajes, pérdidas o más menos muy negativos mientras están en pista.

Top NCAA de la clase Freshman

Este es un muy buen año de jugadores solo por una cuestión que así lo delata. El baloncesto universitario me ha vuelto loco desde siempre, o desde hace 40 años, lo que viene a ser lo mismo. Hay años que empiezo a verlo, ojeo los jugadores del TOP 25 o le echo un ojo a los que habla todo el mundo. Hay años que no retengo en mi mente ni un jugador, o quizás alguno, pero por lo malo (que dicen que es muy bueno y yo le veo muy malo). Hay que tener cuidado con esto y tener tu propio criterio. Los periodistas siempre están vendiendo la moto, demostrando cuánto saben, o el muñeco (que decía Andrés Montes) o animando al personal.

Pues bien, este año ya tengo en la cabeza como 5 o 6 nombres y alguno ya me ha sacado el wow. La lista de jugadores es interminable y, cuando digo interminable, no me desvío ni una coma de lo que quiero decir. Hay jugadores que destacan en universidades de ligas mediocres, que sus números, pues bueno, bien; pero no, porque me voy a centrar en los mejores del TOP 100 recruit de este año.

He escarbado muchos, muchos rankings porque, cuando extraje el de ESPN no vi por ningún lado a Darryn Peterson, uno de los más destacados por la facilidad que tiene para que parezca que no le defiende nadie o que digas: da igual lo que hagas, la va a meter. Así que lo destaco antes de que, cuando alguien vea que no está, no me diga: ññññññ, se te ha olvidado Peterson. Uso la misma métrica que con ACB

Cameron Boozer — DRE 13.0

Su impacto se sostiene en la combinación de uso alto y eficiencia. Produce 18.3 puntos por partido con buen control de balón y casi diez rebotes.

Caleb Wilson — DRE 12.8

Se acerca mucho a Boozer en eficiencia, aunque con un perfil algo más equilibrado. Suma en anotación, rebote y defensa sin forzar demasiadas posesiones. Sus 26 minutos por partido le dan suficiente volumen para que el impacto se refleje de forma constante.

Koa Peat — DRE 11.2

Sus números son algo más modestos, pero su DRE se mantiene alto gracias a un rendimiento sólido en ataque y una cifra de pérdidas muy contenida. Con 19.3 puntos y 3.7 asistencias, aporta tanto creación como finalización. El rebote es su punto más flojo, pero no lastra su valoración porque compensa con eficiencia en tiro y presencia defensiva estable.

Meleek Thomas — DRE 10.4

Más anotador que generador. Sus 18 puntos por partido vienen acompañados de cinco asistencias, una relación productiva para su perfil ofensivo. Aporta rebote y limita fallos en circulación.

Kingston Flemings — DRE 9.8

Su impacto depende más de la creación que de la anotación. Aporta casi cinco asistencias y mantiene a raya las pérdidas, lo que lo coloca por encima de otros jugadores con más puntos. Su perfil es el de un generador primario que no necesita anotar mucho para que el equipo funcione mejor con él.


AJ Dybantsa — DRE 7.6

Su producción es buena, pero algo menos eficiente que la de los nombres que encabezan la tabla. Anota 18.7 puntos y suma en casi todos los apartados, aunque con un balance de rebotes y asistencias más moderado que el de Wilson o Boozer. Su DRE refleja que su uso ofensivo es alto, pero todavía con margen para mejorar en control de balón y consistencia por minuto. Su presencia sigue siendo positiva para el equipo, pero no tan determinante como la de los líderes de la lista.

Con esto doy por cerrado el repaso de esta semana. Seguro que faltan más jugadores, pero por razones que desconozco ESPN no los contempla. Y hasta aquí mis tops. Ahora pasamos al tutorial.


Cómo crear una librería con nuestros datos de los boxscore de la Euroliga

En un anterior tutorial expliqué cómo extraer los boxscore de euroliga, y si no, aquí lo tienes:

Tutoriales R

Cómo extraer los boxscores de Euroliga.

Ivo Villanueva
·
Oct 24
Cómo extraer los boxscores de Euroliga.

¿Qué tal todo?

Read full story

Luego para evitar ir copiando y pegando el código de un script a otro, haciendo más extenso el archivo de lo necesario, cosa que odio personalmente (me gustan lo codigos muy resumidos y eficientes), para correr de nuevo la función para actualizar los datos, expliqué la manera de automatizar la extracción, y si no lo has leido aqui lo tienes también:

Tutoriales R

Cómo pasé de ejecutar scripts manualmente a un sistema que se actualiza solo cada madrugada

Ivo Villanueva
·
Oct 31
Cómo pasé de ejecutar scripts manualmente a un sistema que se actualiza solo cada madrugada

¿Te da pereza copiar o actualizar funciones cada vez que empiezas un script nuevo?

Read full story

Ahora voy a hacerlo más eficiente aún, vamos a hacer una librería con el nombre que nos apetezca y subirla a Github. Se pueden subir también a Cran. hora explico la diferencia.

Subir una librería de R a GitHub es sencillo. Podemos compartir el código sin demasiadas restricciones: solo hay que crear un repositorio, subir los archivos y mantener el proyecto actualizado. Es la opción ideal cuando el paquete es de uso personal o no necesitamos supervisarlo demasiado.

Publicar en CRAN, en cambio, exige cumplir reglas más estrictas. El paquete debe pasar comprobaciones automáticas, incluir documentación completa y seguir las convenciones de R. La idea es asegurar que todo funcione bien y que el código sea estable. Además, cuando algo falla, recibes unos emails nada amigables y si muy amenazantes.

En resumen, GitHub sirve para proporcionarnos una herramienta rápida sin demasiadas pretensiones mas allá que la practica; CRAN, para publicar de forma oficial y llegar a toda la comunidad de R.

Empezamos y nuestro objetivo cuando acabemos sera algo asi yo lo he llamado EuroIvo pero tu llamalo como quieras.

library(EuroIvo)
data <- get_euroleague_boxscore()

PARTE 1: Crear el package desde RStudio

1. Abre RStudio

  • En el menú superior: File → New Project → New Directory → R Package (using usethis)

  • Nombre del paquete: eurodata

  • Directorio base: donde quieras guardarlo (por ejemplo, ~/Documentos/).

  • Desmarca “Create a git repository” (lo haremos luego manualmente).

  • Pulsa Create Project.

Como en el video

PARTE 2: Estructura básica del paquete

Al crear el proyecto, RStudio genera algo así:

eurodata/
├── R/
│   └── hello.R
├── DESCRIPTION
├── NAMESPACE
├── man/
└── eurodata.Rproj

Borra los archivos del ejemplo (`R/hello.R` y `man/hello.Rd`). Tampoco me quiero entretener mucho que es cada cosa vamos a ir al grano. O por lo menos lo voy a intentar.

The Clean Shot es una publicación apoyada por lectores. Para recibir nuevos posts y apoyar mi trabajo, considera convertirte en suscriptor de contenido gratis o suscriptor de pago.

Continúa leyendo con una prueba gratuita de 7 días

Suscríbete a The Clean Shot para seguir leyendo este post y obtener 7 días de acceso gratis al archivo completo de posts.

¿Ya eres suscriptor de pago? Iniciar sesión
© 2025 The Clean Shot
Privacidad ∙ Términos ∙ Aviso de recolección
Crea tu SubstackDescargar la app
Substack es el hogar de la gran cultura