
game_data_all <- rio::import(“https://raw.githubusercontent.com/nflverse/nfldata/refs/heads/master/data/games.csv”) |> filter(season %in% c(2024, 2025) & !is.na(result))
El load_schedules() La función devuelve un marco de datos con 46 variables para métricas que incluyen tiempo de juego, temperatura, viento, superficie de juego, al aire libre o domo, propagaciones de puntos y más. Correr print(dictionary_schedules) para ver un marco de datos con un diccionario de datos de todos los campos.
Ahora que tengo los datos, necesito procesarlos. Voy a eliminar algunos campos de identificación, sé que no quiero y conservo todo lo demás:
cols_to_remove <- c("old_game_id", "gsis", "nfl_detail_id", "pfr", "pff",
"espn", "ftn", "away_qb_id", "home_qb_id", "stadium_id")
games <- game_data_all |>
select(-all_of(cols_to_remove))
Aunque es obvio a partir de los puntajes que los equipos ganaron y perdieron, en realidad no hay columnas para los equipos ganadores y perdedores. En mis pruebas, el LLM no siempre escribió SQL apropiado cuando pregunté sobre los porcentajes ganadores. Con la atención team_won y team_lost Las columnas lo dejan más claro para un modelo y simplifica las consultas SQL necesarias. Luego, guardo los resultados en un archivo de plumas, un formato rápido para R o Python:




