Skip to contents

Overview

This vignette will outline how to use the functions in the rvolleydata package to access data from League One Volleyball Pro (LOVB), Athletes Unlimited Pro Volleyball (AUPVB), and Major League Volleyball (MLV) leagues.

Installation

You can install the development version of rvolleydata from GitHub with:

# install.packages("devtools")
devtools::install_github("awosoga/rvolleydata")

Usage

The following code snippets will provide information on how to access different volleyball league statistics. The structure of the functions is similar across League One Volleyball Pro (LOVB) and Major League Volleyball (MLV), so LOVB functions will be used as an example.

Schedules

Use load_lovb_schedule to access League One Volleyball Pro (LOVB) schedules.

load_lovb_schedule <- load_lovb_schedule(2025)
glimpse(load_lovb_schedule)
#> Rows: 141
#> Columns: 8
#> $ match_id       <dbl> 2161068, 2161068, 2161068, 2161068, 2161068, 2161068, 2…
#> $ season         <dbl> 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2…
#> $ match_datetime <dttm> 2025-01-09 00:30:00, 2025-01-09 00:30:00, 2025-01-09 0…
#> $ officials_type <chr> "supervisor", "referee1", "referee2", "refereeChallenge…
#> $ full_name      <chr> "MICHELLE PRATER", "PATI ROFF", "SAMARA SEVOR", "MARK P…
#> $ first_name     <chr> "MICHELLE", "PATI", "SAMARA", "MARK", "APRIL", "ALAINA"…
#> $ last_name      <chr> "PRATER", "ROFF", "SEVOR", "PRATER", "MIFFLIN", "SMITH …
#> $ level          <chr> "AAA", "AAA", "AAA", "AAA", "AAA", "AAA", "AAA", "AAA",

Player Info

Use load_aupvb_player_info to access Athletes Unlimited Pro Volleyball (AUPV) player information.

load_aupvb_player_info <- load_aupvb_player_info(2024)
glimpse(load_aupvb_player_info)
#> Rows: 648
#> Columns: 53
#> $ season                               <dbl> 2024, 2024, 2024, 2024, 2024, 202…
#> $ week_number                          <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
#> $ game_number                          <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
#> $ game_date                            <dttm> 2024-10-03, 2024-10-03, 2024-10-…
#> $ rank                                 <dbl> 43, 37, 32, 4, 26, 6, 44, 13, 8, 
#> $ rank_change                          <dbl> -1, 4, 0, -1, -1, 0, -1, 1, 2, 0,
#> $ cumulative_points                    <dbl> 140, 128, 155, 215, 183, 244, 169…
#> $ points_this_match                    <dbl> 140, 128, 155, 215, 183, 244, 169…
#> $ played_this_match                    <lgl> FALSE, TRUE, TRUE, TRUE, TRUE, TR…
#> $ first_name                           <chr> "Erin", "Sherridan", "Taylor", "M…
#> $ last_name                            <chr> "Fairs", "Atkinson", "Bruns Tegen…
#> $ uniform_number                       <dbl> 7, 55, 17, 46, 16, 1, 48, 18, 21,
#> $ sets_played                          <dbl> 0, 1, 2, 3, 3, 3, 3, 3, 3, 0, 3, 
#> $ kills                                <dbl> 0, 0, 1, 0, 5, 9, 7, 12, 9, 0, 1,
#> $ kills_per_set                        <dbl> 0.00, 0.00, 0.50, 0.00, 1.67, 3.0…
#> $ attack_attempts                      <dbl> 0, 1, 1, 0, 13, 33, 14, 29, 23, 0…
#> $ attack_errors                        <dbl> 0, 1, 0, 0, 2, 5, 3, 5, 2, 0, 0, 
#> $ attack_percentage                    <dbl> 0.00, -1.00, 1.00, 0.00, 0.23, 0.…
#> $ assists                              <dbl> 0, 0, 2, 4, 0, 0, 0, 0, 1, 0, 35,
#> $ assists_per_set                      <dbl> 0.00, 0.00, 1.00, 1.33, 0.00, 0.0…
#> $ setting_errors                       <dbl> 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 
#> $ service_aces                         <dbl> 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 
#> $ service_aces_per_set                 <dbl> 0.00, 0.00, 0.00, 0.00, 0.33, 0.0…
#> $ service_errors                       <dbl> 0, 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 
#> $ total_reception_attempts             <dbl> 0, 0, 0, 11, 2, 36, 1, 0, 17, 0, 
#> $ reception_errors                     <dbl> 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 
#> $ positive_reception_pct               <dbl> 0.00, 0.00, 0.00, 0.55, 0.50, 0.3…
#> $ digs                                 <dbl> 0, 0, 1, 19, 1, 8, 1, 6, 10, 0, 9…
#> $ digs_per_set                         <dbl> 0.00, 0.00, 0.50, 6.33, 0.33, 2.6…
#> $ blocks                               <dbl> 0, 0, 0, 0, 0, 2, 1, 1, 2, 0, 2, 
#> $ blocks_per_set                       <dbl> 0.00, 0.00, 0.00, 0.00, 0.00, 0.6…
#> $ block_assists                        <dbl> 0, 0, 0, 0, 4, 0, 3, 0, 0, 0, 0, 
#> $ block_assists_per_set                <dbl> 0.0000000, 0.0000000, 0.0000000, 
#> $ primary_position_position_lk         <chr> "OUTHT", "OPPHT", "SETTR", "LIB",
#> $ primary_position_description         <chr> "Outside Hitter", "Opposite", "Se…
#> $ primary_position_short_description   <chr> "OUTHT", "OPPHT", "SETTR", "LIB",
#> $ secondary_position_position_lk       <chr> NA, NA, NA, NA, NA, NA, NA, NA, N
#> $ secondary_position_description       <chr> NA, NA, NA, NA, NA, NA, NA, NA, N
#> $ secondary_position_short_description <chr> NA, NA, NA, NA, NA, NA, NA, NA, N
#> $ current_roster_status_lk             <chr> "IDL", "AC", "AC", "AC", "AC", "A…
#> $ current_roster_status_description    <chr> "Injured - Temporary", "Active", 
#> $ is_home_team                         <lgl> FALSE, FALSE, FALSE, FALSE, FALSE…
#> $ team_color                           <chr> "#1C9AD6", "#1C9AD6", "#1C9AD6", 
#> $ home_team_name                       <chr> "Team Valentin-Anderson", "Team V…
#> $ away_team_name                       <chr> "Team Hentz", "Team Hentz", "Team…
#> $ season_id                            <dbl> 205, 205, 205, 205, 205, 205, 205…
#> $ season_type                          <chr> "Championship", "Championship", "…
#> $ player_id                            <dbl> 71, 81, 117, 220, 223, 277, 758, 
#> $ player_slug                          <chr> "erin-fairs", "sherridan-atkinson…
#> $ uniform_number_display               <dbl> 7, 55, 17, 46, 16, 1, 48, 18, 21,
#> $ team_id                              <dbl> 500, 500, 500, 500, 500, 500, 500…
#> $ type                                 <chr> "Player", "Player", "Player", "Pl…
#> $ stat_type                            <chr> "Game Stats", "Game Stats", "Game…

Leaderboards

Use load_aupvb_leaderboards to access Athletes Unlimited Pro Volleyball (AUPV) leaderboards.

load_aupvb_leaderboards <- load_aupvb_leaderboards(2024)
glimpse(load_aupvb_leaderboards)
#> Rows: 660
#> Columns: 70
#> $ season                             <dbl> 2024, 2024, 2024, 2024, 2024, 2024,
#> $ week_number                        <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
#> $ game_number                        <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
#> $ game_rank                          <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 
#> $ first_name                         <chr> "Khat", "Marlie", "Claire", "Dani",
#> $ last_name                          <chr> "Bell", "Monserez", "Hoffman", "Dre…
#> $ uniform_number                     <dbl> 18, 33, 21, 1, 19, 46, 16, 48, 17, 
#> $ total_points                       <dbl> 282, 272, 257, 244, 230, 220, 171, 
#> $ mvp_points                         <dbl> 60, 20, 0, 0, 40, 0, 0, 0, 0, 0, 0,
#> $ win_points                         <dbl> 140, 140, 140, 140, 40, 140, 140, 1…
#> $ stat_points                        <dbl> 82, 112, 117, 104, 150, 80, 31, 29,
#> $ first_place_mvp                    <lgl> TRUE, FALSE, FALSE, FALSE, FALSE, F…
#> $ first_place_total_points           <dbl> 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ second_place_mvp                   <lgl> FALSE, FALSE, FALSE, FALSE, TRUE, F…
#> $ second_place_total_points          <dbl> 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0…
#> $ third_place_mvp                    <lgl> FALSE, TRUE, FALSE, FALSE, FALSE, F…
#> $ third_place_total_points           <dbl> 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ defensive_mvp                      <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, 
#> $ defensive_mvp_total_points         <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
#> $ set_wins                           <dbl> 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2,
#> $ set_wins_total_points              <dbl> 80, 80, 80, 80, 40, 80, 80, 80, 80,
#> $ match_win                          <dbl> 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1,
#> $ match_win_total_points             <dbl> 60, 60, 60, 60, 0, 60, 60, 60, 60, 
#> $ service_aces                       <dbl> 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
#> $ service_ace_points                 <dbl> 12, 12, 0, 0, 0, 0, 12, 0, 0, 0, 0,
#> $ service_errors                     <dbl> 1, 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0,
#> $ service_error_points               <dbl> -8, 0, -8, 0, 0, 0, 0, -16, 0, 0, 0…
#> $ attack_kills                       <dbl> 12, 1, 9, 9, 17, 0, 5, 7, 1, 0, 0, 
#> $ attack_kill_points                 <dbl> 96, 8, 72, 72, 136, 0, 40, 56, 8, 0…
#> $ attack_errors                      <dbl> 5, 0, 2, 5, 5, 0, 3, 3, 0, 0, 0, 0,
#> $ attack_error_points                <dbl> -60, 0, -24, -60, -60, 0, -36, -36,
#> $ set_assists                        <dbl> 0, 35, 1, 0, 0, 4, 0, 0, 2, 32, 0, 
#> $ set_assist_points                  <dbl> 0, 35, 1, 0, 0, 4, 0, 0, 2, 32, 0, 
#> $ set_errors                         <dbl> 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
#> $ set_error_points                   <dbl> 0, -12, 0, 0, 0, -12, 0, 0, 0, -12,
#> $ digs                               <dbl> 6, 9, 10, 8, 8, 20, 1, 1, 1, 12, 0,
#> $ dig_points                         <dbl> 30, 45, 50, 40, 40, 100, 5, 5, 5, 6…
#> $ good_receptions                    <dbl> 0, 0, 7, 14, 17, 6, 1, 1, 0, 0, 0, 
#> $ good_reception_points              <dbl> 0, 0, 14, 28, 34, 12, 2, 2, 0, 0, 0…
#> $ reception_errors                   <dbl> 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0,
#> $ reception_error_points             <dbl> 0, 0, -12, 0, -12, -24, 0, 0, 0, 0,
#> $ block_assists                      <dbl> 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0,
#> $ block_assist_points                <dbl> 0, 0, 0, 0, 0, 0, 8, 6, 0, 0, 0, 0,
#> $ block_stuffs                       <dbl> 1, 2, 2, 2, 1, 0, 0, 1, 0, 2, 0, 0,
#> $ block_stuff_points                 <dbl> 12, 24, 24, 24, 12, 0, 0, 12, 0, 24…
#> $ points_behind                      <dbl> NA, 10, 15, 13, 14, 10, 49, 2, 14, 
#> $ has_extra_inning_stats             <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, 
#> $ is_captain                         <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, 
#> $ roster_status                      <chr> "Active", "Active", "Active", "Acti…
#> $ primary_position_position_lk       <chr> "OPPHT", "SETTR", "OUTHT", "OUTHT",
#> $ primary_position_description       <chr> "Opposite", "Setter", "Outside Hitt…
#> $ primary_position_short_description <chr> "OPPHT", "SETTR", "OUTHT", "OUTHT",
#> $ team_name                          <chr> "Team Hentz", "Team Hentz", "Team H…
#> $ team_color                         <chr> "#1C9AD6", "#1C9AD6", "#1C9AD6", "#…
#> $ team_seed                          <dbl> 3, 3, 3, 3, 2, 3, 3, 3, 3, 2, 3, 3,
#> $ season_id                          <dbl> 205, 205, 205, 205, 205, 205, 205, 
#> $ competitor_id                      <dbl> 500, 500, 500, 500, 499, 500, 500, 
#> $ player_id                          <dbl> 986, 1025, 992, 277, 996, 220, 223,
#> $ player_slug                        <chr> "khat-bell", "marlie-monserez", "cl…
#> $ uniform_number_display             <chr> "18", "33", "21", "1", "19", "46", 
#> $ overall_rank                       <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 
#> $ overall_rank_change                <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
#> $ total_au_points                    <dbl> 282, 272, 257, 244, 230, 220, 171, 
#> $ percent_change                     <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
#> $ position_change                    <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
#> $ updated_flg                        <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, 
#> $ tie_flg                            <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, 
#> $ missed_games_flg                   <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, 
#> $ previous_seqno                     <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
#> $ has_game_experience                <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,

Play-by-Play

Use load_aupvb_pbp to access Athletes Unlimited Pro Volleyball (AUPV) play-by-play data.

load_aupvb_pbp <- load_aupvb_pbp(2024)
glimpse(load_aupvb_pbp)
#> Rows: 30,507
#> Columns: 41
#> $ season                  <dbl> 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024…
#> $ week_number             <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
#> $ game_number             <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
#> $ play_sequence_number    <dbl> -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
#> $ set_number              <dbl> 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
#> $ rally_number            <dbl> 0, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4…
#> $ play_code               <chr> "START", "Serve", "Reception", "Set", "Attack"…
#> $ narrative_formatted     <chr> "START", "[Team Valentin- Anderson] Serve by N…
#> $ player_id               <dbl> -1, 261, 277, 1025, 986, 261, 116, 996, 986, 2…
#> $ serve_ace               <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALS…
#> $ serve_error             <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALS…
#> $ serve_continue          <lgl> FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE…
#> $ attack_kill             <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALS…
#> $ attack_error            <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALS…
#> $ attack_continue         <lgl> FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE…
#> $ pass_good               <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALS…
#> $ pass_error              <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALS…
#> $ pass_continue           <lgl> FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE…
#> $ dig_success             <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE…
#> $ dig_continue            <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALS…
#> $ block_stuff             <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALS…
#> $ block_assist            <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALS…
#> $ block_continue          <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALS…
#> $ set_assist              <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE…
#> $ set_error               <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALS…
#> $ set_continue            <lgl> FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE…
#> $ home_team_score         <dbl> 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3…
#> $ away_team_score         <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ scoring_team_id         <dbl> NA, 499, 499, 499, 499, 499, 499, 499, 499, 49…
#> $ home_team_id            <dbl> 499, 499, 499, 499, 499, 499, 499, 499, 499, 4…
#> $ away_team_id            <dbl> 500, 500, 500, 500, 500, 500, 500, 500, 500, 5…
#> $ set_status_lk           <chr> "NOT STARTED", "COMPLETED", "COMPLETED", "COMP…
#> $ season_id               <dbl> 205, 205, 205, 205, 205, 205, 205, 205, 205, 2…
#> $ game_id                 <dbl> 640, 640, 640, 640, 640, 640, 640, 640, 640, 6…
#> $ play_text               <chr> "Start of Game", "Play 1 - 261 - Serve - Conti…
#> $ start_time              <dbl> 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
#> $ end_time                <dbl> 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
#> $ video_minutes           <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ video_seconds           <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ alternate_video_seconds <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ date_time_file_received <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA

Use load_lovb_pbp to access League One Volleyball Pro (LOVB) play-by-play data.

load_lovb_pbp <- load_lovb_pbp(2025)
glimpse(load_lovb_pbp)
#> Rows: 73,416
#> Columns: 14
#> $ match_id       <dbl> 2161068, 2161068, 2161068, 2161068, 2161068, 2161068, 2…
#> $ season         <dbl> 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2…
#> $ match_datetime <dttm> 2025-01-09 00:30:00, 2025-01-09 00:30:00, 2025-01-09 0…
#> $ home_team_name <chr> "LOVB Atlanta", "LOVB Atlanta", "LOVB Atlanta", "LOVB A…
#> $ away_team_name <chr> "LOVB Salt Lake", "LOVB Salt Lake", "LOVB Salt Lake", "…
#> $ team_involved  <chr> "home", "away", "away", "away", "home", "home", "away",
#> $ jersey_number  <dbl> 10, 17, 1, 11, 23, 77, 12, 10, 12, 1, 12, 1, 16, 10, 15…
#> $ action         <chr> "S", "R", "E", "A", "D", "E", "A", "S", "R", "E", "A", 
#> $ outcome        <chr> "-", "#", "+", "-", "#", "/", "=", "-", "+", "#", "#", 
#> $ set            <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
#> $ point_number   <dbl> 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4…
#> $ point_winner   <chr> "home", "home", "home", "home", "home", "home", "home",
#> $ home_score     <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2…
#> $ away_score     <dbl> 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2…

Officials

Use load_lovb_officials to access League One Volleyball Pro (LOVB) officials data.

load_lovb_officials <- load_lovb_officials(2025)
glimpse(load_lovb_officials)
#> Rows: 141
#> Columns: 8
#> $ match_id       <dbl> 2161068, 2161068, 2161068, 2161068, 2161068, 2161068, 2…
#> $ season         <dbl> 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2…
#> $ match_datetime <dttm> 2025-01-09 00:30:00, 2025-01-09 00:30:00, 2025-01-09 0…
#> $ officials_type <chr> "supervisor", "referee1", "referee2", "refereeChallenge…
#> $ full_name      <chr> "MICHELLE PRATER", "PATI ROFF", "SAMARA SEVOR", "MARK P…
#> $ first_name     <chr> "MICHELLE", "PATI", "SAMARA", "MARK", "APRIL", "ALAINA"…
#> $ last_name      <chr> "PRATER", "ROFF", "SEVOR", "PRATER", "MIFFLIN", "SMITH …
#> $ level          <chr> "AAA", "AAA", "AAA", "AAA", "AAA", "AAA", "AAA", "AAA",

Player Boxscores

Use load_lovb_player_boxscore to access League One Volleyball Pro (LOVB) player boxscores.

load_lovb_player_boxscore <- load_lovb_player_boxscore(2025)
glimpse(load_lovb_player_boxscore)
#> Rows: 1,846
#> Columns: 28
#> $ match_id                <dbl> 2161068, 2161068, 2161068, 2161068, 2161068, 2…
#> $ season                  <dbl> 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025…
#> $ match_datetime          <dttm> 2025-01-09 00:30:00, 2025-01-09 00:30:00, 202…
#> $ player_id               <dbl> 2344566, 2344565, 2344568, 2344571, 2344564, 2…
#> $ player_name             <chr> "Piyanut Pannoy", "Marta Bechis", "Jessica Riv…
#> $ first_name              <chr> "Piyanut", "Marta", "Jessica", "Kayla", "Iga",
#> $ last_name               <chr> "Pannoy", "Bechis", "Rivero Marin", "Haneline"…
#> $ jersey_number           <dbl> 2, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
#> $ primary_position        <dbl> 1, 5, 2, 4, 4, 5, 4, 5, 2, 4, 4, 1, 3, 3, 2, 2…
#> $ roster_status           <chr> "active", "active", "active", "active", "activ…
#> $ is_foreign              <lgl> TRUE, TRUE, TRUE, FALSE, TRUE, FALSE, FALSE, F…
#> $ is_confederation        <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALS…
#> $ is_captain              <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALS…
#> $ is_libero               <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALS…
#> $ set_1_is_starter        <lgl> FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE,
#> $ set_1_starting_position <dbl> NA, NA, NA, NA, 6, 1, NA, NA, NA, NA, 3, NA, N
#> $ set_2_is_starter        <lgl> FALSE, FALSE, FALSE, TRUE, FALSE, TRUE, FALSE,
#> $ set_2_starting_position <dbl> NA, NA, NA, 2, NA, 6, NA, NA, NA, NA, 5, NA, N
#> $ set_3_is_starter        <lgl> FALSE, FALSE, FALSE, TRUE, FALSE, TRUE, FALSE,
#> $ set_3_starting_position <dbl> NA, NA, NA, 2, NA, 6, NA, NA, NA, NA, 5, NA, N
#> $ set_4_is_starter        <lgl> FALSE, FALSE, FALSE, TRUE, FALSE, TRUE, FALSE,
#> $ set_4_starting_position <dbl> NA, NA, NA, 2, NA, 6, NA, NA, 4, 5, NA, NA, NA
#> $ set_5_is_starter        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ set_5_starting_position <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ team_name               <chr> "LOVB Atlanta", "LOVB Atlanta", "LOVB Atlanta"…
#> $ team_short_name         <chr> "ATL", "ATL", "ATL", "ATL", "ATL", "ATL", "ATL…
#> $ team_code               <chr> "ATL", "ATL", "ATL", "ATL", "ATL", "ATL", "ATL…
#> $ team_color              <chr> "sapphire", "sapphire", "sapphire", "sapphire"…

Team Staff

Use load_lovb_team_staff to access League One Volleyball Pro (LOVB) team staff data.

load_lovb_team_staff <- load_lovb_team_staff(2025)
glimpse(load_lovb_team_staff)
#> Rows: 242
#> Columns: 8
#> $ match_id       <dbl> 2161068, 2161068, 2161068, 2161068, 2161068, 2161068, 2…
#> $ season         <dbl> 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2…
#> $ match_datetime <dttm> 2025-01-09 00:30:00, 2025-01-09 00:30:00, 2025-01-09 0…
#> $ team_name      <chr> "LOVB Atlanta", "LOVB Atlanta", "LOVB Atlanta", "LOVB S…
#> $ staff_type     <chr> "coach", "assistant", "assistant", "coach", "assistant"…
#> $ full_name      <chr> "Paulo Coco", "Yoko Zetterlund", "Angela Gonzalez", "Ta…
#> $ first_name     <chr> "Paulo", "Yoko", "Angela", "Tama", "Bruno", "Kolin", "M…
#> $ last_name      <chr> "Coco", "Zetterlund", "Gonzalez", "Miyashiro", "Chateau…

Events Log

Use load_lovb_events_log to access League One Volleyball Pro (LOVB) events log data.

load_lovb_events_log <- load_lovb_events_log(2025)
glimpse(load_lovb_events_log)
#> Rows: 19,348
#> Columns: 49
#> $ match_id                        <dbl> 2161068, 2161068, 2161068, 2161068, 21…
#> $ season                          <dbl> 2025, 2025, 2025, 2025, 2025, 2025, 20…
#> $ match_datetime                  <dttm> 2025-01-09 00:30:00, 2025-01-09 00:30…
#> $ set                             <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
#> $ set_start_time                  <dttm> 2025-01-09 00:30:00, 2025-01-09 00:30…
#> $ set_end_time                    <dttm> 2025-01-09 01:00:00, 2025-01-09 01:00…
#> $ set_duration                    <dbl> 29, 29, 29, 29, 29, 29, 29, 29, 29, 29…
#> $ set_final_home_score            <dbl> 22, 22, 22, 22, 22, 22, 22, 22, 22, 22…
#> $ set_final_away_score            <dbl> 25, 25, 25, 25, 25, 25, 25, 25, 25, 25…
#> $ event_type                      <chr> "libero", "libero", "rally", "rally", 
#> $ event_time                      <dttm> 2025-01-09 00:31:55, 2025-01-09 00:32…
#> $ libero_enters                   <lgl> TRUE, TRUE, NA, NA, NA, NA, NA, FALSE,
#> $ team_involved                   <chr> "away", "home", NA, NA, NA, NA, NA, "h…
#> $ libero_jersey_number            <dbl> 16, 16, NA, NA, NA, NA, NA, 16, NA, 16…
#> $ libero_substitute_jersey_number <dbl> 6, 9, NA, NA, NA, NA, NA, 9, NA, 6, 15…
#> $ rally_start_time                <dttm> NA, NA, 2025-01-09 00:33:57, 2025-01-…
#> $ rally_end_time                  <dttm> NA, NA, 2025-01-09 00:34:09, 2025-01-…
#> $ rally_point_winner              <chr> NA, NA, "home", "away", "home", "away"…
#> $ substitute_in_jersey_number     <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ substitute_out_jersey_number    <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ challenge_approved              <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ challenge_reason                <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ challenge_method                <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ challenge_response              <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ challenge_at_home_score         <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ challenge_at_away_score         <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ challenge_score_change          <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ serving_team                    <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ current_home_score              <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ current_away_score              <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ home_team_p1                    <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ home_team_p2                    <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ home_team_p3                    <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ home_team_p4                    <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ home_team_p5                    <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ home_team_p6                    <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ away_team_p1                    <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ away_team_p2                    <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ away_team_p3                    <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ away_team_p4                    <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ away_team_p5                    <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ away_team_p6                    <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ verified_time                   <dttm> NA, NA, NA, NA, NA, NA, NA, NA, NA, N
#> $ verified_method                 <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ sanction_type                   <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ sanction_remark                 <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ staff_first_name                <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ staff_last_name                 <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA
#> $ staff_type                      <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA