The NCAA has a lot of sports stats available at https://stats.ncaa.org.
This package focuses on volleyball, though some of the functions can be
used for other sports (e.g., get_teams()
). The sport code
for selecting women’s volleyball is “WVB” and men’s is “MVB”. Once you
pick one of those, you can access season, match, and play-by-play stats
for players and teams.
Finding teams
The NCAA uses a unique team ID for each women's and men's volleyball
team and each season. So first you will need to get that ID with the
find_team_id()
. I'll use Nebraska to illustrate the
functions in {ncaavolleyballr}
.
However, before we find the team ID, we first have to know the exact
team name that the NCAA uses to reference each team. Is Nebraska’s team
name Nebraska, Neb., University of Nebraska-Lincoln, UNL, or something
else? We can use find_team_name()
to get a vector of teams
that match a pattern.
find_team_name("Neb")
#> [1] "Neb. Wesleyan" "Neb.-Kearney" "Nebraska"
Looks like it’s “Nebraska”. So now we can pass that to
find_team_id()
along with the year that we’re interested
in. This function queries two data sets that ship with this package:
wvb_teams
and mvb_teams
. These two data sets
are simply the output of the get_teams()
function being
applied to sports “WVB” and “MVB” respectively. The
get_teams()
function can be applied to other sports to get
the list of all of their team IDs. But since we’ve already done that for
men’s and women’s volleyball, you won’t need to use
get_teams()
.
OK, let’s find Nebraska’s team ID for 2024.
find_team_id("Nebraska", 2024)
#> [1] "585290"
We’ll need this team ID to access all of the team’s statistics. You can either assign the output to an object or just add it to the top of your pipeline.
You can also pass vectors of team names and years to find team IDs for multiple teams and years.
find_team_id("Nebraska", 2020:2024)
#> [1] "504517" "523117" "538902" "558878" "585290"
find_team_id(c("Nebraska", "Wisconsin"), 2024)
#> [1] "585290" "585357"
find_team_id(c("Nebraska", "Wisconsin"), 2020:2024)
#> [1] "504517" "504318" "523117" "522809" "538902" "538704" "558878" "559025" "585290" "585357"
Note these are processed per year, so the last example are the teams ID’s for Nebraska and Wisconsin in 2020 then 2021, etc.
Season stats
Now that we have the team ID, we can use it to access season summary statistics for a particular team and year (e.g., Nebraska 2024).
Team season information
Before we get to stats, we can extract information about a team’s
season with team_season_info()
, The NCAA’s main page for a
team and year includes a tab called “Schedule/Results”. The
team_season_stats()
function extracts information about the
team’s venue, coach, and records, as well as the table of the schedule
and results.
(neb2024team <- find_team_id("Nebraska", 2024) |>
team_season_info())
#> $team_info
#> team_id team_name conference_id conference div yr season
#> 1466 585290 Nebraska 827 Big Ten 1 2024 2024-2025
#>
#> $arena
#> Arena name Capacity Year built
#> "Bob Devaney Sports Center" "7,907" "1975"
#>
#> $coach
#> Name Alma mater Seasons Record
#> "John Cook" "San Diego - 1979" "32" "883-176"
#>
#> $record
#> Overall record Overall streak Conference record Conference streak Home record
#> "33-3 (0.917)" "Streak: L1" "19-1 (0.950)" "Streak: L1" "22-0 (1.000)"
#> Home streak Road record Road streak Neutral record Neutral streak
#> "Streak: W45" "10-2 (0.833)" "Streak: W1" "1-1 (0.500)" "Streak: L1"
#> Non-division record Non-division streak
#> "0-0 (0.000)" "Streak: 0"
#>
#> $schedule
#> # A tibble: 36 × 4
#> Date Opponent Result Attendance
#> <chr> <chr> <chr> <chr>
#> 1 08/27/2024 Kentucky @Louisville, KY W 3-1 9,280
#> 2 08/30/2024 A&M-Corpus Christi W 3-0 8,956
#> 3 08/31/2024 TCU W 3-1 8,695
#> 4 09/03/2024 @ SMU L 0-3 6,773
#> 5 09/05/2024 The Citadel W 3-0 8,607
#> 6 09/07/2024 Montana St. W 3-0 8,456
#> 7 09/10/2024 Creighton W 3-2 8,924
#> 8 09/13/2024 Arizona St. W 3-0 8,772
#> 9 09/14/2024 Wichita St. W 3-0 8,541
#> 10 09/18/2024 Stanford W 3-0 8,952
#> # ℹ 26 more rows
This returns a list, so you can subset specific components with
$
. For instance, if we wanted to calculate average
attendance per game:
neb2024team$schedule |>
dplyr::pull(Attendance) |>
sub(",", "", x = _) |>
as.numeric() |>
mean()
#> [1] 8765.333
Wow, Nebraska volleyball attracted more attendees per game than the 2021 Oakland Athletics professional baseball team!
Team season stats
The NCAA makes team season summary stats available since. We have included the conference starting with 2020 (conference data for previous seasons is not currently available).
team_season_stats(team = "Nebraska")
#> Season Team Conference S MS Kills Errors Total Attacks Hit Pct Assists
#> 1 2020-21 Nebraska Big Ten 66 NA 925 323 2229 0.270 847
#> 2 2021-22 Nebraska Big Ten 121 NA 1677 667 4551 0.222 1548
#> 3 2022-23 Nebraska Big Ten 109 NA 1461 519 3866 0.244 1331
#> 4 2023-24 Nebraska Big Ten 121 NA 1676 597 3959 0.273 1553
#> 5 2024-25 Nebraska Big Ten 122 NA 1721 551 4114 0.284 1596
#> Aces SErr Digs RErr Block Solos Block Assists BErr TB PTS BHE Trpl Dbl
#> 1 104 131 957 71 21 269 40 155.5 1184.5 12 19
#> 2 181 241 2054 105 38 530 54 NA 2161.0 8 34
#> 3 128 261 1721 77 33 537 47 301.5 1890.5 25 32
#> 4 143 309 1666 104 39 574 43 NA 2145.0 15 35
#> 5 155 193 1856 81 51 581 50 NA 2217.5 1 36
#> SrvAtt RetAtt Dbl Dbl
#> 1 NA NA NA
#> 2 2836 NA NA
#> 3 NA 1824 NA
#> 4 NA 2018 35
#> 5 NA 1920 NA
By default, the teams’s stats are returned. To return the opposing
teams stats, set opponents = TRUE
.
team_season_stats(team = "Nebraska", opponent = TRUE)
#> Season Team S MS Kills Errors Total Attacks Hit Pct Assists
#> 1 2020-21 Nebraska Opponents 66 NA 739 365 2226 0.168 679
#> 2 2021-22 Nebraska Opponents 121 NA 1349 693 4418 0.148 1269
#> 3 2022-23 Nebraska Opponents 109 NA 1198 689 3988 0.128 1114
#> 4 2023-24 Nebraska Opponents 121 NA 1264 713 4009 0.137 1188
#> 5 2024-25 Nebraska Opponents 122 NA 1376 749 4377 0.143 1321
#> Aces SErr Digs RErr Block Solos Block Assists BErr TB PTS BHE Trpl Dbl
#> 1 71 160 831 104 16 236 26 134 944.0 6 19
#> 2 105 267 1886 181 49 503 52 NA 1754.5 16 34
#> 3 77 297 1575 128 29 370 51 214 1489.0 24 32
#> 4 104 325 1402 143 42 430 58 NA 1625.0 17 35
#> 5 81 342 1539 155 34 375 49 NA 1678.5 1 36
#> SrvAtt RetAtt Dbl Dbl
#> 1 NA NA NA
#> 2 2431 NA NA
#> 3 NA 2337 NA
#> 4 NA 2552 35
#> 5 NA 2748 NA
Here’s a table describing the different team statistics returned.
data.frame(Stat = colnames(team_season_stats(team = "Nebraska"))[4:20],
Description = c("Sets played", "Kills", "Attack errors", "Attacks",
"Hit percentage [(kills-errors)/attacks]", "Assists",
"Ace serves", "Service errors", "Digs",
"Reception attempts", "Reception errors",
"Solo blocks", "Block assists", "Block errors",
"Points", "Ball handling errors", "Triple doubles"))
#> Stat Description
#> 1 S Sets played
#> 2 Kills Kills
#> 3 Errors Attack errors
#> 4 Total Attacks Attacks
#> 5 Hit Pct Hit percentage [(kills-errors)/attacks]
#> 6 Assists Assists
#> 7 Aces Ace serves
#> 8 SErr Service errors
#> 9 Digs Digs
#> 10 RetAtt Reception attempts
#> 11 RErr Reception errors
#> 12 Block Solos Solo blocks
#> 13 Block Assists Block assists
#> 14 BErr Block errors
#> 15 PTS Points
#> 16 BHE Ball handling errors
#> 17 Trpl Dbl Triple doubles
Player season stats
The NCAA’s main page for a team includes a tab called “Team
Statistics” (e.g., Nebraska
2024). The player_season_stats()
function extracts the
table of player summary statistics for a particular season, as well as
team and opponent statistics (though these can be omitted).
find_team_id("Nebraska", 2024) |>
player_season_stats()
#> # A tibble: 16 × 29
#> Season Team Conference Number Player Yr Pos Ht Hometown `High School` GP GS S
#> <chr> <chr> <chr> <dbl> <chr> <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl>
#> 1 2024-2025 Nebr… Big Ten 2 Berge… So S 6-1 Sioux F… O'Gorman 36 36 122
#> 2 2024-2025 Nebr… Big Ten 5 Rebek… Jr MB 6-4 Lincoln… Waverly 35 34 109
#> 3 2024-2025 Nebr… Big Ten 6 Laney… So L/DS 5-3 Raleigh… Leesville Ro… 36 0 121
#> 4 2024-2025 Nebr… Big Ten 7 Maisi… Jr L/DS 5-6 Firth, … Norris 9 0 13
#> 5 2024-2025 Nebr… Big Ten 8 Lexi … Sr L/DS 5-5 Sterlin… Sterling 36 0 122
#> 6 2024-2025 Nebr… Big Ten 9 Kenne… Sr S 6-0 Eagan, … Eagan 35 0 112
#> 7 2024-2025 Nebr… Big Ten 10 Olivi… Fr L/DS 5-6 Benning… Bennington 36 4 122
#> 8 2024-2025 Nebr… Big Ten 11 Leyla… Sr MB 6-4 San Die… La Jolla 13 4 23
#> 9 2024-2025 Nebr… Big Ten 12 Taylo… Sr OH 6-5 Plainfi… Plainfield C… 33 20 88
#> 10 2024-2025 Nebr… Big Ten 13 Merri… Sr OH 6-4 Gardend… Gardendale 36 36 122
#> 11 2024-2025 Nebr… Big Ten 15 Andi … So MB 6-3 Brighto… Brighton 34 34 114
#> 12 2024-2025 Nebr… Big Ten 22 Linds… Sr OH 6-4 Papilli… Skutt Cathol… 24 12 50
#> 13 2024-2025 Nebr… Big Ten 27 Harpe… So OH 6-2 Ann Arb… Skyline 36 36 121
#> 14 2024-2025 Nebr… Big Ten NA TEAM - - - <NA> <NA> NA NA NA
#> 15 2024-2025 Nebr… Big Ten NA Totals - - - <NA> <NA> NA NA 122
#> 16 2024-2025 Nebr… Big Ten NA Oppon… - - - <NA> <NA> NA NA 122
#> # ℹ 16 more variables: Kills <dbl>, Errors <dbl>, `Total Attacks` <dbl>, `Hit Pct` <dbl>,
#> # Assists <dbl>, Aces <dbl>, SErr <dbl>, Digs <dbl>, RetAtt <dbl>, RErr <dbl>, `Block Solos` <dbl>,
#> # `Block Assists` <dbl>, BErr <dbl>, PTS <dbl>, BHE <dbl>, `Trpl Dbl` <dbl>
This returns all players, along with TEAM, opponent, and overall team
summaries. To only include player stats, set
team_stats = FALSE
.
find_team_id("Nebraska", 2024) |>
player_season_stats(team_stats = FALSE)
#> # A tibble: 13 × 29
#> Season Team Conference Number Player Yr Pos Ht Hometown `High School` GP GS S
#> <chr> <chr> <chr> <dbl> <chr> <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl>
#> 1 2024-2025 Nebr… Big Ten 2 Berge… So S 6-1 Sioux F… O'Gorman 36 36 122
#> 2 2024-2025 Nebr… Big Ten 5 Rebek… Jr MB 6-4 Lincoln… Waverly 35 34 109
#> 3 2024-2025 Nebr… Big Ten 6 Laney… So L/DS 5-3 Raleigh… Leesville Ro… 36 0 121
#> 4 2024-2025 Nebr… Big Ten 7 Maisi… Jr L/DS 5-6 Firth, … Norris 9 0 13
#> 5 2024-2025 Nebr… Big Ten 8 Lexi … Sr L/DS 5-5 Sterlin… Sterling 36 0 122
#> 6 2024-2025 Nebr… Big Ten 9 Kenne… Sr S 6-0 Eagan, … Eagan 35 0 112
#> 7 2024-2025 Nebr… Big Ten 10 Olivi… Fr L/DS 5-6 Benning… Bennington 36 4 122
#> 8 2024-2025 Nebr… Big Ten 11 Leyla… Sr MB 6-4 San Die… La Jolla 13 4 23
#> 9 2024-2025 Nebr… Big Ten 12 Taylo… Sr OH 6-5 Plainfi… Plainfield C… 33 20 88
#> 10 2024-2025 Nebr… Big Ten 13 Merri… Sr OH 6-4 Gardend… Gardendale 36 36 122
#> 11 2024-2025 Nebr… Big Ten 15 Andi … So MB 6-3 Brighto… Brighton 34 34 114
#> 12 2024-2025 Nebr… Big Ten 22 Linds… Sr OH 6-4 Papilli… Skutt Cathol… 24 12 50
#> 13 2024-2025 Nebr… Big Ten 27 Harpe… So OH 6-2 Ann Arb… Skyline 36 36 121
#> # ℹ 16 more variables: Kills <dbl>, Errors <dbl>, `Total Attacks` <dbl>, `Hit Pct` <dbl>,
#> # Assists <dbl>, Aces <dbl>, SErr <dbl>, Digs <dbl>, RetAtt <dbl>, RErr <dbl>, `Block Solos` <dbl>,
#> # `Block Assists` <dbl>, BErr <dbl>, PTS <dbl>, BHE <dbl>, `Trpl Dbl` <dbl>
This returns all of the stats included by
team_season_stats()
, plus GP and GS, which are Games Played
and Games Started, respectively.
Match stats
In addition to overall season summary stats, the NCAA provides match-level data for both teams and individual players.
Team match stats
To get overall match stats for a team in a particular season, use
team_match_stats()
. Note that to run this function relies
on the {chromote}
package, so you must have Google Chrome installed on your computer.
find_team_id(team = "Nebraska", year = 2024) |>
team_match_stats()
#> # A tibble: 36 × 22
#> Season Date Team Conference Opponent Result S Kills Errors
#> <chr> <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl>
#> 1 2024-2025 08/27/2024 Nebraska Big Ten Kentucky … W 3-1 4 47 16
#> 2 2024-2025 08/30/2024 Nebraska Big Ten A&M-Corpu… W 3-0 3 48 7
#> 3 2024-2025 08/31/2024 Nebraska Big Ten TCU W 3-1 4 55 25
#> 4 2024-2025 09/03/2024 Nebraska Big Ten @ SMU L 0-3 3 36 18
#> 5 2024-2025 09/05/2024 Nebraska Big Ten The Citad… W 3-0 3 43 7
#> 6 2024-2025 09/07/2024 Nebraska Big Ten Montana S… W 3-0 3 47 11
#> 7 2024-2025 09/10/2024 Nebraska Big Ten Creighton W 3-2 5 73 27
#> 8 2024-2025 09/13/2024 Nebraska Big Ten Arizona S… W 3-0 3 48 12
#> 9 2024-2025 09/14/2024 Nebraska Big Ten Wichita S… W 3-0 3 50 8
#> 10 2024-2025 09/18/2024 Nebraska Big Ten Stanford W 3-0 3 38 13
#> # ℹ 26 more rows
#> # ℹ 13 more variables: `Total Attacks` <dbl>, `Hit Pct` <dbl>, Assists <dbl>,
#> # Aces <dbl>, SErr <dbl>, Digs <dbl>, RetAtt <dbl>, RErr <dbl>,
#> # `Block Solos` <dbl>, `Block Assists` <dbl>, BErr <dbl>, PTS <dbl>,
#> # BHE <dbl>
Player match stats
Similarly, you can get match stats for each player in a single match.
But to do this, you must know the NCAA’s contest ID for the particular
match or matches that you’re interested in. Use the
find_team_contests()
function to return a data frame of all
of the matches for a particular team and season, along with the contest
IDs.
(neb2024contests <- find_team_id(team = "Nebraska", year = 2024) |>
find_team_contests())
#> # A tibble: 36 × 6
#> date team opponent result attendance contest
#> <chr> <chr> <chr> <chr> <dbl> <chr>
#> 1 08/27/2024 Nebraska Kentucky W 3-1 9280 5362360
#> 2 08/30/2024 Nebraska A&M-Corpus Christi W 3-0 8956 5362361
#> 3 08/31/2024 Nebraska TCU W 3-1 8695 5362362
#> 4 09/03/2024 Nebraska SMU L 0-3 6773 5362363
#> 5 09/05/2024 Nebraska The Citadel W 3-0 8607 5362364
#> 6 09/07/2024 Nebraska Montana St. W 3-0 8456 5362365
#> 7 09/10/2024 Nebraska Creighton W 3-2 8924 5362366
#> 8 09/13/2024 Nebraska Arizona St. W 3-0 8772 5362367
#> 9 09/14/2024 Nebraska Wichita St. W 3-0 8541 5362368
#> 10 09/18/2024 Nebraska Stanford W 3-0 8952 5362369
#> # ℹ 26 more rows
Once we have the contest IDs, we can grab one and pass it to
player_match_stats()
.
player_match_stats(contest = "6080708")
#> # A tibble: 25 × 26
#> Season Date Team Conference `Opponent Team` `Opponent Conference` Location Number Player
#> <chr> <date> <chr> <chr> <chr> <chr> <chr> <dbl> <chr>
#> 1 2024-2025 2024-12-19 Penn … Big Ten Nebraska Big Ten Away 2 Ava F…
#> 2 2024-2025 2024-12-19 Penn … Big Ten Nebraska Big Ten Away 3 Gilli…
#> 3 2024-2025 2024-12-19 Penn … Big Ten Nebraska Big Ten Away 8 Camry…
#> 4 2024-2025 2024-12-19 Penn … Big Ten Nebraska Big Ten Away 5 Jorda…
#> 5 2024-2025 2024-12-19 Penn … Big Ten Nebraska Big Ten Away 14 Carol…
#> 6 2024-2025 2024-12-19 Penn … Big Ten Nebraska Big Ten Away 44 Maggi…
#> 7 2024-2025 2024-12-19 Penn … Big Ten Nebraska Big Ten Away 24 Quinn…
#> 8 2024-2025 2024-12-19 Penn … Big Ten Nebraska Big Ten Away 9 Jess …
#> 9 2024-2025 2024-12-19 Penn … Big Ten Nebraska Big Ten Away 11 Jocel…
#> 10 2024-2025 2024-12-19 Penn … Big Ten Nebraska Big Ten Away 21 Izzy …
#> # ℹ 15 more rows
#> # ℹ 17 more variables: P <chr>, S <int>, Kills <int>, Errors <int>, TotalAttacks <int>, HitPct <dbl>,
#> # Assists <int>, Aces <int>, SErr <int>, Digs <int>, RetAtt <int>, RErr <int>, BlockSolos <int>,
#> # BlockAssists <int>, BErr <int>, PTS <dbl>, BHE <int>
This returns a list with two elements—one for each team. If we just
want to return a single team’s match stats, we can specify this with the
team
argument. Also, by default, the team stats are
included in the output, but we can remove these with
team_stats = FALSE
.
player_match_stats(contest = "6080708", team = "Nebraska", team_stats = FALSE)
#> # A tibble: 10 × 26
#> Season Date Team Conference `Opponent Team` `Opponent Conference` Location Number Player
#> <chr> <date> <chr> <chr> <chr> <chr> <chr> <dbl> <chr>
#> 1 2024-2025 2024-12-19 Nebra… Big Ten Penn St. Big Ten Home 5 Rebek…
#> 2 2024-2025 2024-12-19 Nebra… Big Ten Penn St. Big Ten Home 13 Merri…
#> 3 2024-2025 2024-12-19 Nebra… Big Ten Penn St. Big Ten Home 6 Laney…
#> 4 2024-2025 2024-12-19 Nebra… Big Ten Penn St. Big Ten Home 15 Andi …
#> 5 2024-2025 2024-12-19 Nebra… Big Ten Penn St. Big Ten Home 12 Taylo…
#> 6 2024-2025 2024-12-19 Nebra… Big Ten Penn St. Big Ten Home 10 Olivi…
#> 7 2024-2025 2024-12-19 Nebra… Big Ten Penn St. Big Ten Home 27 Harpe…
#> 8 2024-2025 2024-12-19 Nebra… Big Ten Penn St. Big Ten Home 9 Kenne…
#> 9 2024-2025 2024-12-19 Nebra… Big Ten Penn St. Big Ten Home 2 Berge…
#> 10 2024-2025 2024-12-19 Nebra… Big Ten Penn St. Big Ten Home 8 Lexi …
#> # ℹ 17 more variables: P <chr>, S <int>, Kills <int>, Errors <int>, TotalAttacks <int>, HitPct <dbl>,
#> # Assists <int>, Aces <int>, SErr <int>, Digs <int>, RetAtt <int>, RErr <int>, BlockSolos <int>,
#> # BlockAssists <int>, BErr <int>, PTS <dbl>, BHE <int>
Play-by-play data
Play-by-play data for matches are also available on the NCAA’s
website, if you know the contest ID. The match_pbp()
function extracts relevant events within a match.
match_pbp(contest = "6080708") |>
head(20) # cut this off, because it has 1525 rows!
#> # A tibble: 20 × 8
#> set away_team home_team score team event player description
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 1 Penn St. Nebraska 0-0 Penn St. Serve Jocelyn Nathan Jocelyn Nathan serves
#> 2 1 Penn St. Nebraska 0-0 Nebraska Reception Bergen Reilly Reception by Bergen Reilly
#> 3 1 Penn St. Nebraska 0-0 Nebraska Set Lexi Rodriguez Set by Lexi Rodriguez
#> 4 1 Penn St. Nebraska 0-0 Nebraska Attack Merritt Beason Attack by Merritt Beason
#> 5 1 Penn St. Nebraska 0-0 Nebraska Set Bergen Reilly Set by Bergen Reilly
#> 6 1 Penn St. Nebraska 0-0 Nebraska Attack Harper Murray Attack by Harper Murray
#> 7 1 Penn St. Nebraska 0-0 Penn St. Dig Gillian Grimes Dig by Gillian Grimes
#> 8 1 Penn St. Nebraska 0-0 Penn St. Set Izzy Starck Set by Izzy Starck
#> 9 1 Penn St. Nebraska 0-0 Penn St. Attack Taylor Trammell Attack by Taylor Trammell
#> 10 1 Penn St. Nebraska 0-0 Nebraska Block Rebekah Allick Block by Rebekah Allick
#> 11 1 Penn St. Nebraska 0-1 Nebraska Block Rebekah Allick Block by Rebekah Allick
#> 12 1 Penn St. Nebraska 0-1 Nebraska Serve Lexi Rodriguez Lexi Rodriguez serves
#> 13 1 Penn St. Nebraska 0-1 Penn St. Reception Jess Mruzik Reception by Jess Mruzik
#> 14 1 Penn St. Nebraska 0-1 Penn St. Set Izzy Starck Set by Izzy Starck
#> 15 1 Penn St. Nebraska 0-1 Penn St. Attack Jess Mruzik Attack by Jess Mruzik
#> 16 1 Penn St. Nebraska 0-1 Nebraska Dig Harper Murray Dig by Harper Murray
#> 17 1 Penn St. Nebraska 0-1 Penn St. Set Izzy Starck Set by Izzy Starck
#> 18 1 Penn St. Nebraska 0-1 Penn St. Attack Caroline Jurevicius Attack by Caroline Jurevici…
#> 19 1 Penn St. Nebraska 1-1 Penn St. Kill Caroline Jurevicius Kill by Caroline Jurevicius
#> 20 1 Penn St. Nebraska 1-1 Penn St. Serve Gillian Grimes Gillian Grimes serves
Aggregating data
Though the season, match, and play-by-play data are useful at the
individual level, they can be more useful when aggregated. The
group_stats()
function aggregates season, match, and
play-by-play data over multiple teams and/or years by applying the
player_season_stats()
, player_match_stats()
,
or match_pbp()
across teams and years.
group_stats(teams = c("Nebraska", "Wisconsin"), year = 2023:2024, level = "season")
#> $playerdata
#> # A tibble: 54 × 30
#> Season Team Conference Number Player Yr Pos Ht GP GS S Kills Errors
#> <chr> <chr> <chr> <dbl> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 2023-2024 Nebraska Big Ten 2 Bergen Reilly Fr S 6-1 35 35 121 70 19
#> 2 2023-2024 Nebraska Big Ten 5 Rebekah Alli… So MB 6-4 32 31 105 185 61
#> 3 2023-2024 Nebraska Big Ten 6 Laney Choboy Fr L/DS 5-3 34 33 117 0 1
#> 4 2023-2024 Nebraska Big Ten 7 Maisie Boesi… So L/DS 5-6 18 0 36 0 0
#> 5 2023-2024 Nebraska Big Ten 8 Lexi Rodrigu… Jr L/DS 5-5 35 0 121 1 0
#> 6 2023-2024 Nebraska Big Ten 9 Kennedi Orr Jr S 6-0 29 0 96 1 0
#> 7 2023-2024 Nebraska Big Ten 11 Hayden Kubik So OH 6-2 9 0 10 3 7
#> 8 2023-2024 Nebraska Big Ten 13 Merritt Beas… Jr OH 6-4 35 35 121 455 153
#> 9 2023-2024 Nebraska Big Ten 14 Ally Batenho… Jr OH 6-5 30 2 87 196 91
#> 10 2023-2024 Nebraska Big Ten 15 Andi Jackson Fr MB 6-3 34 34 118 237 67
#> # ℹ 44 more rows
#> # ℹ 17 more variables: `Total Attacks` <dbl>, `Hit Pct` <dbl>, Assists <dbl>, Aces <dbl>, SErr <dbl>,
#> # Digs <dbl>, RetAtt <dbl>, RErr <dbl>, `Block Solos` <dbl>, `Block Assists` <dbl>, BErr <dbl>,
#> # PTS <dbl>, BHE <dbl>, `Trpl Dbl` <dbl>, `Dbl Dbl` <dbl>, Hometown <chr>, `High School` <chr>
#>
#> $teamdata
#> # A tibble: 4 × 23
#> Season Team Conference S Kills Errors `Total Attacks` `Hit Pct` Assists Aces SErr Digs
#> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 2023-2024 Nebraska Big Ten 121 1676 597 3959 0.273 1553 143 309 1666
#> 2 2024-2025 Nebraska Big Ten 122 1721 551 4114 0.284 1596 155 193 1856
#> 3 2023-2024 Wiscons… Big Ten 119 1654 428 3950 0.31 1552 184 270 1741
#> 4 2024-2025 Wiscons… Big Ten 120 1657 486 4090 0.286 1562 183 280 1785
#> # ℹ 11 more variables: RetAtt <dbl>, RErr <dbl>, `Block Solos` <dbl>, `Block Assists` <dbl>,
#> # BErr <dbl>, PTS <dbl>, BHE <dbl>, `Trpl Dbl` <dbl>, `Dbl Dbl` <dbl>, Hometown <chr>,
#> # `High School` <chr>
We don’t have other examples, because these take a while to run.
There are also convenience functions conference_stats()
and division_stats()
that automatically extract data for a
particular conference or NCAA division.
conference_stats(year = 2024, conf = "Big Ten", level = "season")
#> $playerdata
#> # A tibble: 274 × 29
#> Season Team Conference Number Player Yr Pos Ht Hometown `High School` GP GS S
#> <chr> <chr> <chr> <dbl> <chr> <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl>
#> 1 2024-2025 Illi… Big Ten 2 Raege… Sr S 5-10 Sioux F… O'Gorman 31 0 108
#> 2 2024-2025 Illi… Big Ten 3 Lily … So L/DS 5-6 Emden, … University 26 1 85
#> 3 2024-2025 Illi… Big Ten 4 Bianc… So S 5-8 Orland … Carl Sandburg 9 0 21
#> 4 2024-2025 Illi… Big Ten 5 Taylo… Fr OH 6-4 Kelowna… Okanagan Mis… 11 0 16
#> 5 2024-2025 Illi… Big Ten 8 Averi… Jr OH 6-2 Bloomin… Normal Commu… 31 31 114
#> 6 2024-2025 Illi… Big Ten 10 Carol… Sr L/DS 5-11 Napervi… Benet Academy 8 0 31
#> 7 2024-2025 Illi… Big Ten 11 Cari … So MB 6-4 Ann Arb… Skyline 31 31 114
#> 8 2024-2025 Illi… Big Ten 12 Raina… Sr OH 6-1 Marengo… Highland 31 31 114
#> 9 2024-2025 Illi… Big Ten 13 Kenzi… Fr L/DS 5-7 Cincinn… Mount Notre … 2 0 2
#> 10 2024-2025 Illi… Big Ten 16 Ashly… Fr MB 6-4 Greenvi… DH Conley 31 31 114
#> # ℹ 264 more rows
#> # ℹ 16 more variables: Kills <dbl>, Errors <dbl>, `Total Attacks` <dbl>, `Hit Pct` <dbl>,
#> # Assists <dbl>, Aces <dbl>, SErr <dbl>, Digs <dbl>, RetAtt <dbl>, RErr <dbl>, `Block Solos` <dbl>,
#> # `Block Assists` <dbl>, BErr <dbl>, PTS <dbl>, BHE <dbl>, `Trpl Dbl` <dbl>
#>
#> $teamdata
#> # A tibble: 18 × 20
#> Season Team Conference S Kills Errors `Total Attacks` `Hit Pct` Assists Aces SErr Digs
#> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 2024-2025 Illino… Big Ten 114 1432 559 3793 0.23 1311 183 275 1411
#> 2 2024-2025 Indiana Big Ten 108 1384 595 3774 0.209 1283 171 311 1393
#> 3 2024-2025 Iowa Big Ten 119 1440 678 4024 0.189 1313 178 268 1573
#> 4 2024-2025 Maryla… Big Ten 112 1322 566 3722 0.203 1197 223 276 1465
#> 5 2024-2025 Michig… Big Ten 117 1535 628 4081 0.222 1436 181 284 1633
#> 6 2024-2025 Michig… Big Ten 114 1399 604 3877 0.205 1275 157 265 1595
#> 7 2024-2025 Minnes… Big Ten 122 1581 560 4226 0.242 1441 181 262 1869
#> 8 2024-2025 Nebras… Big Ten 122 1721 551 4114 0.284 1596 155 193 1856
#> 9 2024-2025 Northw… Big Ten 106 1202 601 3488 0.172 1103 146 232 1343
#> 10 2024-2025 Ohio S… Big Ten 117 1476 641 4086 0.204 1383 177 249 1665
#> 11 2024-2025 Oregon Big Ten 117 1554 531 3915 0.261 1442 202 270 1637
#> 12 2024-2025 Penn S… Big Ten 135 1972 648 4673 0.283 1841 203 324 1994
#> 13 2024-2025 Purdue Big Ten 118 1683 509 4191 0.28 1568 146 262 1841
#> 14 2024-2025 Rutgers Big Ten 104 1145 540 3441 0.176 1080 142 294 1243
#> 15 2024-2025 Southe… Big Ten 122 1597 622 4091 0.238 1469 184 363 1586
#> 16 2024-2025 UCLA Big Ten 109 1474 544 3766 0.247 1373 125 265 1513
#> 17 2024-2025 Washin… Big Ten 117 1494 601 3970 0.225 1400 190 283 1612
#> 18 2024-2025 Wiscon… Big Ten 120 1657 486 4090 0.286 1562 183 280 1785
#> # ℹ 8 more variables: RetAtt <dbl>, RErr <dbl>, `Block Solos` <dbl>, `Block Assists` <dbl>,
#> # BErr <dbl>, PTS <dbl>, BHE <dbl>, `Trpl Dbl` <dbl>
Well, that covers most of the functionality of {ncaavolleyballr}
.
If you find any bugs or have any questions, please reach out.