Skip to contents

Overview

This vignette will outline how to use the functions in the nblR package to allow users to obtain clean and tidy data from the Australian National Basketball League (NBL).

Installation

You can install the CRAN version of nblR with the below.

Alternatively, you can install the dev (little less stable) version of nblR from GitHub with:

# install.packages("remotes")
remotes::install_github("JaseZiv/nblR")

Usage

The following code will show you how to get various different statistics for the Australian National Basketball League (NBL).

Match Results

To get results of matches players in the NBL since the 1979 season, use the nbl_results() function. This function takes in one argument - wide_or_long (options either ‘wide’ or ‘long’).

Using wide_or_long = "wide", the resulting data frame will have one row per match played, with the home and away team listed.

results_wide <- nbl_results(wide_or_long = "wide")
dplyr::glimpse(results_wide)
#> Rows: 7,410
#> Columns: 22
#> $ match_id           <int> 27606, 27607, 27608, 27518, 27519, 27520, 27521, 27…
#> $ season             <chr> "1979", "1979", "1979", "1979", "1979", "1979", "19…
#> $ venue_name         <chr> "Burwood Stadium", "Apollo Entertainment Centre", "…
#> $ round_number       <chr> "1", "1", "1", "1", "1", "1", "2", "2", "2", "2", "…
#> $ match_number       <int> 89, 90, 91, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, …
#> $ match_status       <chr> "COMPLETE", "COMPLETE", "COMPLETE", "COMPLETE", "CO…
#> $ match_name         <chr> "", "", "", "", "", "", "", "", "", "", "", "", "",…
#> $ match_type         <chr> "REGULAR", "REGULAR", "REGULAR", "REGULAR", "REGULA…
#> $ home_team_id       <int> 3690, 3697, 3709, 3708, 3702, 3695, 3714, 3683, 369…
#> $ home_team_name     <chr> "Newcastle Falcons", "Glenelg Tigers", "Brisbane Bu…
#> $ home_team_nickname <chr> "FALCONS", "TIGERS", "BULLETS", "BRUINS", "SAINTS",…
#> $ home_score_string  <chr> "62", "68", "70", "79", "94", "101", "86", "91", "9…
#> $ away_team_id       <int> 3705, 3714, 3717, 3717, 3690, 3714, 3717, 3702, 370…
#> $ away_team_name     <chr> "Nunawading Spectres", "City of Sydney Astronauts",…
#> $ away_team_nickname <chr> "SPECTRES", "Astronauts", "CANNONS", "CANNONS", "FA…
#> $ away_score_string  <chr> "78", "65", "77", "82", "92", "77", "91", "88", "69…
#> $ at_neutral_venue   <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ extra_periods_used <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ match_time         <chr> "1979-02-24 12:00:00", "1979-02-24 12:00:00", "1979…
#> $ match_time_utc     <chr> "1979-02-24 01:00:00", "1979-02-24 01:30:00", "1979…
#> $ attendance         <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ duration           <int> 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 1…

Using wide_or_long = "long", the resulting data frame will instead have two rows per match played, with both teams listed on a separate line.

results_long <- nbl_results(wide_or_long = "long")
dplyr::glimpse(results_long)
#> Rows: 14,820
#> Columns: 23
#> $ match_id           <int> 27606, 27606, 27607, 27607, 27608, 27608, 27518, 27…
#> $ season             <chr> "1979", "1979", "1979", "1979", "1979", "1979", "19…
#> $ venue_name         <chr> "Burwood Stadium", "Burwood Stadium", "Apollo Enter…
#> $ round_number       <chr> "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "…
#> $ match_number       <int> 89, 89, 90, 90, 91, 91, 1, 1, 2, 2, 3, 3, 4, 4, 5, …
#> $ match_status       <chr> "COMPLETE", "COMPLETE", "COMPLETE", "COMPLETE", "CO…
#> $ match_name         <chr> "", "", "", "", "", "", "", "", "", "", "", "", "",…
#> $ match_type         <chr> "REGULAR", "REGULAR", "REGULAR", "REGULAR", "REGULA…
#> $ team_id            <int> 3690, 3705, 3697, 3714, 3709, 3717, 3708, 3717, 370…
#> $ team_name          <chr> "Newcastle Falcons", "Nunawading Spectres", "Glenel…
#> $ team_nickname      <chr> "FALCONS", "SPECTRES", "TIGERS", "Astronauts", "BUL…
#> $ score_string       <chr> "62", "78", "68", "65", "70", "77", "79", "82", "94…
#> $ is_home_competitor <int> 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, …
#> $ opp_team_id        <int> 3705, 3690, 3714, 3697, 3717, 3709, 3717, 3708, 369…
#> $ opp_team_name      <chr> "Nunawading Spectres", "Newcastle Falcons", "City o…
#> $ opp_team_nickname  <chr> "SPECTRES", "FALCONS", "Astronauts", "TIGERS", "CAN…
#> $ opp_score_string   <chr> "78", "62", "65", "68", "77", "70", "82", "79", "92…
#> $ at_neutral_venue   <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ extra_periods_used <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ match_time         <chr> "1979-02-24 12:00:00", "1979-02-24 12:00:00", "1979…
#> $ match_time_utc     <chr> "1979-02-24 01:00:00", "1979-02-24 01:00:00", "1979…
#> $ attendance         <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ duration           <int> 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 1…

Team Box Scores

To get box scores at the team level, use the nbl_box_team() function. This will return team box score data since the 2015-2016 season. Note, not all fields will contain data for earlier seasons.

team_box <- nbl_box_team()
glimpse(team_box)
#> Rows: 2,146
#> Columns: 67
#> $ match_id                  <int> 139002, 139002, 139003, 139003, 139004, 1390…
#> $ season                    <chr> "2015-2016", "2015-2016", "2015-2016", "2015…
#> $ home_away                 <chr> "home", "away", "home", "away", "home", "awa…
#> $ name                      <chr> "Adelaide 36ers", "New Zealand Breakers", "C…
#> $ short_name                <chr> "36ers", "Breakers", "Taipans", "Hawks", "Cr…
#> $ code                      <chr> "ADL", "NZL", "CNS", "ILL", "TSV", "MEL", "S…
#> $ score                     <int> 90, 71, 79, 74, 84, 99, 87, 63, 66, 79, 93, …
#> $ full_score                <int> 90, 71, 79, 74, 84, 99, 87, 63, 66, 79, 93, …
#> $ opp_name                  <chr> "New Zealand Breakers", "Adelaide 36ers", "I…
#> $ opp_short_name            <chr> "Breakers", "36ers", "Hawks", "Taipans", "Me…
#> $ opp_score                 <int> 71, 90, 74, 79, 99, 84, 63, 87, 79, 66, 81, …
#> $ opp_full_score            <int> 71, 90, 74, 79, 99, 84, 63, 87, 79, 66, 81, …
#> $ p1_score                  <int> 19, 17, 25, 16, 19, 28, 29, 15, 28, 26, 27, …
#> $ p2_score                  <int> 32, 9, 13, 22, 23, 15, 28, 17, 15, 13, 26, 2…
#> $ p3_score                  <int> 19, 24, 14, 12, 21, 29, 17, 15, 10, 14, 16, …
#> $ p4_score                  <int> 20, 21, 27, 24, 21, 27, 13, 16, 13, 26, 24, …
#> $ fouls                     <int> 4, 7, 5, 12, 6, 2, 2, 3, 6, 7, 4, 5, 6, 6, 7…
#> $ timeouts                  <int> 0, 2, 2, 1, 2, 1, 0, 2, 1, 1, 0, 2, 1, 2, 1,…
#> $ minutes                   <chr> "0", "0", "0", "0", "0", "0", "0", "0", "0",…
#> $ field_goals_made          <int> 32, 29, 28, 25, 31, 37, 32, 22, 23, 29, 33, …
#> $ field_goals_attempted     <int> 71, 77, 58, 47, 79, 68, 65, 66, 66, 80, 75, …
#> $ field_goals_percentage    <int> 45, 37, 48, 53, 39, 54, 49, 33, 34, 36, 44, …
#> $ three_pointers_made       <int> 8, 6, 8, 12, 6, 13, 10, 4, 3, 9, 11, 11, 10,…
#> $ three_pointers_attempted  <int> 15, 30, 22, 20, 18, 23, 31, 26, 16, 23, 32, …
#> $ three_pointers_percentage <int> 53, 20, 36, 60, 33, 56, 32, 15, 18, 39, 34, …
#> $ two_pointers_made         <int> 24, 23, 20, 13, 25, 24, 22, 18, 20, 20, 22, …
#> $ two_pointers_attempted    <int> 56, 47, 36, 27, 61, 45, 34, 40, 50, 57, 43, …
#> $ two_pointers_percentage   <int> 42, 48, 55, 48, 40, 53, 64, 45, 40, 35, 51, …
#> $ free_throws_made          <int> 18, 7, 15, 12, 16, 12, 13, 15, 17, 12, 16, 1…
#> $ free_throws_attempted     <int> 23, 10, 20, 19, 19, 19, 17, 18, 24, 13, 20, …
#> $ free_throws_percentage    <int> 78, 70, 75, 63, 84, 63, 76, 83, 70, 92, 80, …
#> $ rebounds_defensive        <int> 25, 21, 16, 17, 21, 29, 32, 24, 24, 32, 32, …
#> $ rebounds_offensive        <int> 20, 15, 14, 10, 15, 11, 5, 11, 12, 18, 12, 1…
#> $ rebounds_total            <int> 45, 36, 30, 27, 36, 40, 37, 35, 36, 50, 44, …
#> $ assists                   <int> 18, 14, 20, 11, 7, 20, 22, 9, 10, 17, 15, 16…
#> $ turnovers                 <int> 15, 12, 13, 23, 8, 10, 8, 11, 12, 15, 14, 10…
#> $ steals                    <int> 5, 7, 13, 6, 4, 1, 7, 2, 6, 2, 4, 5, 9, 6, 1…
#> $ blocks                    <int> 5, 3, 0, 2, 3, 3, 5, 2, 5, 1, 3, 3, 6, 2, 3,…
#> $ blocks_received           <int> 3, 5, 2, 0, 3, 3, 2, 5, 1, 5, 3, 3, 2, 6, 3,…
#> $ fouls_personal            <int> 15, 23, 16, 25, 20, 15, 15, 19, 19, 21, 12, …
#> $ fouls_on                  <int> 23, 15, 25, 15, 15, 20, 19, 15, 21, 19, 19, …
#> $ points                    <int> 90, 71, 79, 74, 84, 99, 87, 63, 66, 79, 93, …
#> $ points_from_turnovers     <int> 6, 19, 21, 16, 14, 10, 13, 6, 6, 14, 4, 11, …
#> $ points_second_chance      <int> 8, 8, 15, 8, 13, 12, 9, 6, 12, 23, 8, 22, 5,…
#> $ points_fast_break         <int> 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 0, 0, 0,…
#> $ bench_points              <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 29, …
#> $ points_in_the_paint       <int> 40, 40, 26, 24, 40, 38, 38, 24, 38, 38, 42, …
#> $ ot_score                  <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ time_leading              <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ biggest_lead              <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ lead_changes              <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ times_scores_level        <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ fouls_team                <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ rebounds_team             <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ rebounds_team_defensive   <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ rebounds_team_offensive   <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ efficiency_custom         <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ turnovers_team            <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ biggest_scoring_run       <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ tot_eff_1                 <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ tot_eff_2                 <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ tot_eff_3                 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ tot_eff_4                 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ tot_eff_5                 <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ tot_eff_6                 <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ tot_eff_7                 <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ fouls_total               <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …

Player Box Scores

To get box scores at the player level, use the nbl_box_player() function. This will return player box score data since the 2015-2016 season. Note, not all fields will contain data for earlier seasons.

player_box <- nbl_box_player()
glimpse(player_box)
#> Rows: 24,823
#> Columns: 47
#> $ match_id                  <int> 139002, 139002, 139002, 139002, 139002, 1390…
#> $ season                    <chr> "2015-2016", "2015-2016", "2015-2016", "2015…
#> $ team_name                 <chr> "Adelaide 36ers", "Adelaide 36ers", "Adelaid…
#> $ team_short_name           <chr> "36ers", "36ers", "36ers", "36ers", "36ers",…
#> $ home_away                 <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2,…
#> $ opp_name                  <chr> "New Zealand Breakers", "New Zealand Breaker…
#> $ opp_short_name            <chr> "Breakers", "Breakers", "Breakers", "Breaker…
#> $ first_name                <chr> "Adam", "Matthew", "nelson", "Brendan", "Ken…
#> $ family_name               <chr> "Gibson", "Hodgson", "Larkins", "Teys", "McN…
#> $ playing_position          <chr> "G", "CEN", "", "G", "G", "FWD", "FWD", "", …
#> $ starter                   <int> 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0,…
#> $ shirt_number              <chr> "1", "3", "6", "7", "11", "12", "17", "20", …
#> $ captain                   <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ minutes                   <chr> "28:37", "18:22", "0:36", "16:31", "5:27", "…
#> $ points                    <int> 11, 18, 0, 10, 0, 2, 9, 7, 15, 13, 0, 5, 13,…
#> $ field_goals_made          <int> 4, 7, 0, 4, 0, 1, 4, 2, 3, 5, 0, 2, 5, 5, 1,…
#> $ field_goals_attempted     <int> 11, 10, 0, 7, 0, 2, 7, 5, 10, 13, 0, 6, 16, …
#> $ field_goals_percentage    <int> 36, 70, 0, 57, 0, 50, 57, 40, 30, 38, 0, 33,…
#> $ three_pointers_made       <int> 1, 0, 0, 1, 0, 0, 1, 1, 1, 3, 0, 0, 3, 1, 1,…
#> $ three_pointers_attempted  <int> 1, 0, 0, 1, 0, 0, 2, 1, 1, 9, 0, 0, 8, 6, 2,…
#> $ three_pointers_percentage <int> 100, 0, 0, 100, 0, 0, 50, 100, 100, 33, 0, 0…
#> $ two_pointers_made         <int> 3, 7, 0, 3, 0, 1, 3, 1, 2, 2, 0, 2, 2, 4, 0,…
#> $ two_pointers_attempted    <int> 10, 10, 0, 6, 0, 2, 5, 4, 9, 4, 0, 6, 8, 5, …
#> $ two_pointers_percentage   <int> 30, 70, 0, 50, 0, 50, 60, 25, 22, 50, 0, 33,…
#> $ free_throws_made          <int> 2, 4, 0, 1, 0, 0, 0, 2, 8, 0, 0, 1, 0, 3, 0,…
#> $ free_throws_attempted     <int> 2, 6, 0, 2, 0, 0, 0, 2, 9, 0, 0, 2, 0, 4, 0,…
#> $ free_throws_percentage    <int> 100, 66, 0, 50, 0, 0, 0, 100, 88, 0, 0, 50, …
#> $ rebounds_defensive        <int> 4, 2, 0, 4, 1, 2, 2, 0, 6, 3, 0, 1, 2, 2, 2,…
#> $ rebounds_offensive        <int> 2, 7, 0, 1, 0, 2, 1, 0, 2, 0, 0, 5, 2, 0, 0,…
#> $ rebounds_total            <int> 6, 9, 0, 5, 1, 4, 3, 0, 8, 3, 0, 6, 4, 2, 2,…
#> $ assists                   <int> 8, 0, 0, 1, 0, 0, 1, 3, 1, 1, 0, 3, 1, 6, 1,…
#> $ turnovers                 <int> 2, 1, 0, 1, 0, 1, 3, 3, 1, 1, 0, 2, 1, 2, 2,…
#> $ steals                    <int> 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 3, 1, 0,…
#> $ blocks                    <int> 0, 3, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0,…
#> $ blocks_received           <int> 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 2, 0, 0,…
#> $ fouls_personal            <int> 2, 0, 0, 0, 1, 5, 2, 2, 1, 0, 0, 2, 2, 4, 2,…
#> $ fouls_on                  <int> 6, 3, 0, 3, 0, 0, 1, 2, 7, 0, 0, 1, 0, 5, 0,…
#> $ points_second_chance      <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ active                    <int> 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1,…
#> $ photo_t                   <chr> "http://img.wh.sportingpulseinternational.co…
#> $ photo_s                   <chr> "http://img.wh.sportingpulseinternational.co…
#> $ name                      <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ points_fast_break         <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ points_in_the_paint       <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ plus_minus_points         <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ efficiency_custom         <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ scoreboard_name           <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …

Play-by-Play data

To get play-by-play data, use the nbl_pbp() function. This will return play-by-play data since the 2015-2016 season. Note, not all fields will contain data for earlier seasons.

pbp <- nbl_pbp()
glimpse(pbp)
#> Rows: 597,443
#> Columns: 25
#> $ match_id        <int> 139002, 139002, 139002, 139002, 139002, 139002, 139002…
#> $ season          <chr> "2015-2016", "2015-2016", "2015-2016", "2015-2016", "2…
#> $ team_name       <chr> NA, NA, "New Zealand Breakers", "Adelaide 36ers", "Ade…
#> $ team_short_name <chr> NA, NA, "Breakers", "36ers", "36ers", "Breakers", "Bre…
#> $ home_away       <chr> NA, NA, "away", "home", "home", "away", "away", "home"…
#> $ opp_name        <chr> NA, NA, "Adelaide 36ers", "New Zealand Breakers", "New…
#> $ opp_short_name  <chr> NA, NA, "36ers", "Breakers", "Breakers", "36ers", "36e…
#> $ period_type     <chr> "REGULAR", "REGULAR", "REGULAR", "REGULAR", "REGULAR",…
#> $ period          <int> 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, …
#> $ gt              <chr> "00:00", "00:00", "00:06", "00:14", "00:15", "00:18", …
#> $ s1              <int> 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90…
#> $ s2              <int> 71, 71, 71, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68…
#> $ lead            <int> 19, 19, 19, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22…
#> $ pno             <dbl> 0, 0, 3, 11, 11, 12, 12, 8, 12, 13, 1, 3, 11, 11, 11, …
#> $ action_type     <chr> "status", "game", "3pt", "turnover", "steal", "turnove…
#> $ sub_type        <chr> "complete", "end", "", "badpass", "", "badpass", "defe…
#> $ success         <int> 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, …
#> $ scoring         <int> 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, …
#> $ first_name      <chr> NA, NA, "Shea", "Mitchell", "Mitchell", "Charles", "Ch…
#> $ family_name     <chr> NA, NA, "Ili", "Creek", "Creek", "Jackson", "Jackson",…
#> $ shirt_number    <chr> NA, NA, "5", "55", "55", "33", "33", "21", "6", "20", …
#> $ scoreboard_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
#> $ qualifier       <list> <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL…
#> $ action_number   <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
#> $ previous_action <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…

Shots data

To get shot location and type data, use the nbl_shots() function. This will return shooting data since the 2015-2016 season. Note, not all fields will contain data for earlier seasons.

shots <- nbl_shots()
glimpse(shots)
#> Rows: 149,547
#> Columns: 20
#> $ match_id        <int> 139002, 139002, 139002, 139002, 139002, 139002, 139002…
#> $ season          <chr> "2015-2016", "2015-2016", "2015-2016", "2015-2016", "2…
#> $ team_name       <chr> "Adelaide 36ers", "Adelaide 36ers", "Adelaide 36ers", …
#> $ team_short_name <chr> "36ers", "36ers", "36ers", "36ers", "36ers", "36ers", …
#> $ home_away       <chr> "home", "home", "home", "home", "home", "home", "home"…
#> $ opp_name        <chr> "New Zealand Breakers", "New Zealand Breakers", "New Z…
#> $ opp_short_name  <chr> "Breakers", "Breakers", "Breakers", "Breakers", "Break…
#> $ r               <int> 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, …
#> $ x               <dbl> 16.423, 20.985, 22.445, 8.759, 4.197, 11.679, 3.832, 2…
#> $ y               <dbl> 57.338, 92.491, 44.710, 43.686, 48.123, 42.321, 51.877…
#> $ period          <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …
#> $ period_type     <chr> "REGULAR", "REGULAR", "REGULAR", "REGULAR", "REGULAR",…
#> $ action_type     <chr> "2pt", "3pt", "2pt", "2pt", "2pt", "2pt", "2pt", "3pt"…
#> $ sub_type        <chr> "jumpshot", "", "jumpshot", "jumpshot", "jumpshot", "j…
#> $ first_name      <chr> "Mitchell", "Ebi", "Daniel", "Daniel", "Daniel", "Anth…
#> $ family_name     <chr> "Creek", "Ere", "Johnson", "Johnson", "Johnson", "Petr…
#> $ shirt_number    <chr> "55", "23", "21", "21", "21", "17", "23", "23", "21", …
#> $ action_number   <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
#> $ previous_action <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
#> $ scoreboard_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…