Skip to contents

Build a wide, one-row-per-player-per-team crosswalk linking ESPN and Fox Sports (Bifrost) MBB player identities for a season. ESPN is the anchor source; Fox is matched by normalized name (exact first, then Jaro-Winkler fuzzy with jersey tiebreaker) within each team block. Yahoo columns are NA placeholders. KenPom and Torvik have no per-player data for MBB, so neither source is joined.

Usage

mbb_player_crosswalk(season = most_recent_mbb_season(), min_confidence = 0.92)

Arguments

season

Season year (4-digit, e.g. 2025). Defaults to most_recent_mbb_season().

min_confidence

Jaro-Winkler similarity floor for fuzzy matches (default 0.92).

Value

A hoopR_data tibble, one row per player per team (ESPN-anchored):

col_nametypesdescription
seasonintegerSeason year.
espn_team_idintegerESPN team id (canonical key).
team_abbreviationcharacterESPN team abbreviation.
player_namecharacterNormalized player name (matching key).
espn_athlete_idcharacterESPN athlete id.
espn_full_namecharacterESPN full name.
espn_jerseycharacterESPN jersey number.
espn_positioncharacterESPN position abbreviation.
fox_athlete_idcharacterFox athlete id (NA if unmatched).
fox_playercharacterFox player name (NA if unmatched).
fox_jerseycharacterFox jersey number (NA if unmatched).
fox_position_groupcharacterFox position group label (NA if unmatched).
yahoo_player_idcharacterYahoo player id (NA placeholder).
yahoo_player_namecharacterYahoo player name (NA placeholder).
match_methodcharacter"exact_name"/"fuzzy_jw"/"unmatched".
match_confidencenumericJaro-Winkler score or 1 for exact (NA if none).
match_keyscharacterNA (reserved for future use).

See also

Examples

# \donttest{
  try(mbb_player_crosswalk(season = 2025))
#> ✖ 2026-09-30 15:08:13.269239: Could not build MBB player crosswalk for 2025!
#> ✖ Args: season = 2025, min_confidence = 0.92
#> ✖ Error: Torvik 2025: no team rows (19 rows, columns doctype_html_public_w3c_dtd_html_4_01_transitional_en_http_www_w3_org_tr_html4_loose_dtd, year); a blocked or empty response must not ship as NA bart_* columns
#> data frame with 0 columns and 0 rows
# }