Skip to content

Instantly share code, notes, and snippets.

@tonyelhabr
Created September 14, 2023 11:30
Show Gist options
  • Save tonyelhabr/e1c791edbaeda5248e7b4f0e9c802d14 to your computer and use it in GitHub Desktop.
Save tonyelhabr/e1c791edbaeda5248e7b4f0e9c802d14 to your computer and use it in GitHub Desktop.
shot x-y data

Full set of fotmob shot releases here: https://github.com/JaseZiv/worldfootballR_data/releases/tag/fotmob_match_details

raw_shots <- readr::read_csv('https://github.com/JaseZiv/worldfootballR_data/releases/download/fotmob_match_details/47_match_details.csv')
#> Rows: 28667 Columns: 43
#> ── Column specification ────────────────────────────────────────────────────────
#> Delimiter: ","
#> chr (18): league_name, league_round_name, parent_league_season, match_time_u...
#> dbl (22): match_id, match_round, league_id, parent_league_id, home_team_id, ...
#> lgl  (3): is_blocked, is_on_target, is_own_goal
#> 
#> ℹ Use `spec()` to retrieve the full column specification for this data.
#> ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
dplyr::glimpse(raw_shots)
#> Rows: 28,667
#> Columns: 43
#> $ match_id                 <dbl> 3411352, 3411352, 3411352, 3411352, 3411352, …
#> $ match_round              <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …
#> $ league_id                <dbl> 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 4…
#> $ league_name              <chr> "Premier League", "Premier League", "Premier …
#> $ league_round_name        <chr> "Premier League Round 1", "Premier League Rou…
#> $ parent_league_id         <dbl> 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 4…
#> $ parent_league_season     <chr> "2022/2023", "2022/2023", "2022/2023", "2022/…
#> $ match_time_utc           <chr> "Sat, Sep 12, 2020, 11:30 UTC", "Sat, Sep 12,…
#> $ home_team_id             <dbl> 9879, 9879, 9879, 9879, 9879, 9879, 9879, 987…
#> $ home_team                <chr> "Fulham", "Fulham", "Fulham", "Fulham", "Fulh…
#> $ home_team_color          <chr> "#000000", "#000000", "#000000", "#000000", "…
#> $ away_team_id             <dbl> 9825, 9825, 9825, 9825, 9825, 9825, 9825, 982…
#> $ away_team                <chr> "Arsenal", "Arsenal", "Arsenal", "Arsenal", "…
#> $ away_team_color          <chr> "#bd0510", "#bd0510", "#bd0510", "#bd0510", "…
#> $ id                       <dbl> 2210246139, 2210246547, 2210246571, 221024658…
#> $ event_type               <chr> "AttemptSaved", "Miss", "AttemptSaved", "Goal…
#> $ team_id                  <dbl> 9879, 9825, 9825, 9825, 9879, 9825, 9825, 982…
#> $ player_id                <dbl> 149150, 207236, 94086, 169193, 240478, 339992…
#> $ player_name              <chr> "Denis Odoi", "Granit Xhaka", "Willian", "Ale…
#> $ x                        <dbl> 84.73738, 90.30000, 100.63793, 102.53448, 98.…
#> $ y                        <dbl> 18.25401, 41.42563, 33.46625, 31.71250, 23.01…
#> $ min                      <dbl> 7, 8, 8, 8, 10, 21, 21, 27, 37, 49, 56, 57, 6…
#> $ min_added                <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ is_blocked               <lgl> FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE…
#> $ is_on_target             <lgl> TRUE, FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, T…
#> $ goal_crossed_y           <dbl> 31.56000, 26.28531, 32.32250, 30.87375, 31.94…
#> $ expected_goals           <dbl> 0.0274, 0.0602, 0.7366, 0.8446, 0.0455, 0.087…
#> $ expected_goals_on_target <dbl> 0.1150, NA, 0.9631, 0.9935, NA, NA, NA, NA, 0…
#> $ shot_type                <chr> "LeftFoot", "LeftFoot", "RightFoot", "LeftFoo…
#> $ situation                <chr> "RegularPlay", "RegularPlay", "RegularPlay", …
#> $ period                   <chr> "FirstHalf", "FirstHalf", "FirstHalf", "First…
#> $ is_own_goal              <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FAL…
#> $ on_goal_shot_x           <dbl> 1.645503e+00, 2.000000e+00, 1.443783e+00, 1.8…
#> $ on_goal_shot_y           <dbl> 0.29047619, 0.03495724, 0.04246728, 0.0645502…
#> $ on_goal_shot_zoom_ratio  <dbl> 1.0000000, 0.4899745, 1.0000000, 1.0000000, 1…
#> $ first_name               <chr> "Denis", "Granit", NA, "Alexandre", "Neeskens…
#> $ last_name                <chr> "Odoi", "Xhaka", "Willian", "Lacazette", "Keb…
#> $ team_color               <chr> "#000000", "#bd0510", "#bd0510", "#bd0510", "…
#> $ short_name               <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ blocked_x                <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ blocked_y                <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ goal_crossed_z           <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ full_name                <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment