ncaavolleyballr
Extract Data from NCAA Women's and Men's Volleyball Website
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (18.2%) to scientific vocabulary
Last synced: 10 months ago
·
JSON representation
Repository
Extract Data from NCAA Women's and Men's Volleyball Website
Basic Info
- Host: GitHub
- Owner: JeffreyRStevens
- License: other
- Language: R
- Default Branch: main
- Homepage: https://jeffreyrstevens.github.io/ncaavolleyballr/
- Size: 7.52 MB
Statistics
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 3
Created over 1 year ago
· Last pushed 10 months ago
Metadata Files
Readme
Changelog
License
Codemeta
README.Rmd
---
output:
github_document:
df_print: kable
---
```{r, include = FALSE}
#| label: setup
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
library(ncaavolleyballr)
```
# ncaavolleyballr
[](https://www.repostatus.org/#active)
[](https://lifecycle.r-lib.org/articles/stages.html#stable)
[](https://CRAN.R-project.org/package=ncaavolleyballr)
[](https://CRAN.R-project.org/package=ncaavolleyballr)
[](https://app.codecov.io/gh/JeffreyRStevens/ncaavolleyballr)
Inspired by the NCAA data extraction functions from the [`{baseballr}`](https://billpetti.github.io/baseballr/) package, the goal of [`{ncaavolleyballr}`](https://jeffreyrstevens.github.io/ncaavolleyballr/) is to extract women\'s and men\'s volleyball information from the NCAA website. The functions in this package can extract team records/schedules and player statistics for the 2020-`r ncaavolleyballr:::most_recent_season()` NCAA women\'s and men\'s divisions I, II, and III volleyball teams. Functions can aggregate statistics for teams, conferences, divisions, or custom groups of teams.
## Installation
You can install the stable released version of flashr from [CRAN](https://cran.r-project.org/package=ncaavolleyballr) with:
```{r eval = FALSE}
install.packages("ncaavolleyballr")
```
You can install developmental versions from [GitHub](https://github.com/) with:
```{r eval = FALSE}
#| label: installpackage
# install.packages("remotes")
remotes::install_github("JeffreyRStevens/ncaavolleyballr")
```
## Usage
```{r eval=FALSE}
#| label: loadpackage
library(ncaavolleyballr)
```
A suite of functions can be used to extract season, match, and play-by-play data for teams and players. See the [Getting Started vignette](https://jeffreyrstevens.github.io/ncaavolleyballr/articles/ncaavolleyballr.html) for a more thorough description of the functions.
### Season data
The NCAA uses a unique team ID for each women\'s and men\'s volleyball team and season. So to access a team\'s season data, first you will need to get that ID with the `find_team_id()`. For instance, to find the ID for Penn State\'s 2024 season:
```{r}
#| label: findteamid
find_team_id("Penn St.", 2024)
```
With this team ID, you can now extract overall season performance data for the team\'s players with the `player_season_stats()`.
```{r eval=FALSE}
#| label: playerseasonstats
find_team_id("Penn St.", 2024) |>
player_season_stats()
```
```{r echo=FALSE}
#| label: playerseasonstatsecho
find_team_id("Penn St.", 2024) |>
player_season_stats() |>
dplyr::mutate(`High School` = gsub("\u00A0", "", `High School`),
`High School` = gsub("'", "\\\\'", `High School`))
```
### Match data
The NCAA also uses a unique contest ID for each women\'s and men\'s volleyball match. The easiest way to get that ID is with `find_team_contest()`, which returns the contest ID for all matches in a particular season (using the Team ID provided by `find_team_id()`). For instance, to find the contest ID for 2024 National Championship match between Louisville and Penn State:
```{r}
#| label: findteamcontests
find_team_id("Penn St.", 2024) |>
find_team_contests() |>
tail()
```
```{r echo=FALSE}
#| label: findcontestspennst
psu2024 <- find_team_contests(find_team_id("Penn St.", 2024))
```
From that, we can see that the contest ID is `r psu2024[psu2024$opponent == "Louisville", ]$contest[2]`. If we pass this contest ID to the `player_match_stats()` function, we\'ll get a list with two data frames (one for each team in the contest) that contain player statistics for the match. If we want to get just the Penn State player data, we can set `team = "Penn St."`.
```{r}
#| label: playermatchstats
player_match_stats(contest = "6080706", team = "Penn St.")
```
### Play-by-play data
Play-by-play data are also available with `match_pbp()`. This returns a data frame with all events and players.
```{r}
#| label: matchpbp
match_pbp(contest = "6080706") |>
head(10)
```
### Other functionality
By default, these functions return information on women\'s teams, but they can be set to return men\'s information by setting `sport = "MVB"`. You can also aggregate data across conferences, divisions, or custom groups with `conference_stats()`, `division_stats()`, and `group_stats()`.
## Scraped data
Scraping large amounts of data from the NCAA stats site can take a long time and is prone to unstable connections. Accessing the website too frequently or with multiple functions simultaneously can result in your IP address being blocked. To get around this issue, I have scraped all data from 2020-2024 and have posted it on the [data page](https://jeffreyrstevens.github.io/ncaavolleyballr/articles/data.html).
## Citation
To cite [`{ncaavolleyballr}`](https://jeffreyrstevens.github.io/ncaavolleyballr/), use:
```{r echo=FALSE, results='asis'}
print(readCitationFile("inst/CITATION"), style = "text")
```
## Acknowledgments
Many thanks to [Bill Petti](https://github.com/BillPetti) for making the code for NCAA stats extraction freely available in the [`{baseballr}`](https://billpetti.github.io/baseballr/) package. And thank you to [Tyler Widdison](https://github.com/widbuntu) for [inspiring me to extract the play-by-play data](https://github.com/JeffreyRStevens/ncaavolleyballr/issues/1) (check out his [`{ncaavolleyballR}`](https://github.com/tyler-widdison/ncaavolleyballR) package for some similar functionality). Code from [`{baseballr}`](https://billpetti.github.io/baseballr/) and [`{rvest}`](https://rvest.tidyverse.org/)
(both licensed under an MIT license) have been incorporated and modified in this package.
The volleyball background in the logo was designed by [Freepik](https://www.freepik.com/free-vector/volleyball-grey-gradient_59539214.htm).
Owner
- Name: Jeffrey Stevens
- Login: JeffreyRStevens
- Kind: user
- Location: Lincoln, NE
- Company: Canine Cognition and Human Interaction Lab, @UNL
- Website: https://jeffreyrstevens.quarto.pub/
- Twitter: JeffStevensADML
- Repositories: 4
- Profile: https://github.com/JeffreyRStevens
Associate professor, Department of Psychology, Center for Brain, Biology & Behavior, @UNL. Data Science Mentor at Posit.
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "SoftwareSourceCode",
"identifier": "ncaavolleyballr",
"description": "Extracts team records/schedules and player statistics for the 2020-2025 National Collegiate Athletic Association (NCAA) women's and men's divisions I, II, and III volleyball teams from <https://stats.ncaa.org>. Functions can aggregate statistics for teams, conferences, divisions, or custom groups of teams.",
"name": "ncaavolleyballr: Extract Data from NCAA Women's and Men's Volleyball Website",
"relatedLink": "https://jeffreyrstevens.github.io/ncaavolleyballr/",
"codeRepository": "https://github.com/JeffreyRStevens/ncaavolleyballr",
"issueTracker": "https://github.com/JeffreyRStevens/ncaavolleyballr/issues",
"license": "https://spdx.org/licenses/MIT",
"version": "0.5.0",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "R",
"url": "https://r-project.org"
},
"runtimePlatform": "R version 4.5.1 (2025-06-13)",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"author": [
{
"@type": "Person",
"givenName": "Jeffrey R.",
"familyName": "Stevens",
"email": "jeffrey.r.stevens@protonmail.com",
"@id": "https://orcid.org/0000-0003-2375-1360"
}
],
"copyrightHolder": [
{
"@type": "Person",
"givenName": "Jeffrey R.",
"familyName": "Stevens",
"email": "jeffrey.r.stevens@protonmail.com",
"@id": "https://orcid.org/0000-0003-2375-1360"
}
],
"maintainer": [
{
"@type": "Person",
"givenName": "Jeffrey R.",
"familyName": "Stevens",
"email": "jeffrey.r.stevens@protonmail.com",
"@id": "https://orcid.org/0000-0003-2375-1360"
}
],
"softwareSuggestions": [
{
"@type": "SoftwareApplication",
"identifier": "knitr",
"name": "knitr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=knitr"
},
{
"@type": "SoftwareApplication",
"identifier": "rmarkdown",
"name": "rmarkdown",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=rmarkdown"
},
{
"@type": "SoftwareApplication",
"identifier": "testthat",
"name": "testthat",
"version": ">= 3.0.0",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=testthat"
}
],
"softwareRequirements": {
"1": {
"@type": "SoftwareApplication",
"identifier": "R",
"name": "R",
"version": ">= 4.2"
},
"2": {
"@type": "SoftwareApplication",
"identifier": "chromote",
"name": "chromote",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=chromote"
},
"3": {
"@type": "SoftwareApplication",
"identifier": "cli",
"name": "cli",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=cli"
},
"4": {
"@type": "SoftwareApplication",
"identifier": "curl",
"name": "curl",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=curl"
},
"5": {
"@type": "SoftwareApplication",
"identifier": "dplyr",
"name": "dplyr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=dplyr"
},
"6": {
"@type": "SoftwareApplication",
"identifier": "httr2",
"name": "httr2",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=httr2"
},
"7": {
"@type": "SoftwareApplication",
"identifier": "lifecycle",
"name": "lifecycle",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=lifecycle"
},
"8": {
"@type": "SoftwareApplication",
"identifier": "purrr",
"name": "purrr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=purrr"
},
"9": {
"@type": "SoftwareApplication",
"identifier": "rlang",
"name": "rlang",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=rlang"
},
"10": {
"@type": "SoftwareApplication",
"identifier": "rvest",
"name": "rvest",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=rvest"
},
"11": {
"@type": "SoftwareApplication",
"identifier": "stringr",
"name": "stringr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=stringr"
},
"12": {
"@type": "SoftwareApplication",
"identifier": "tibble",
"name": "tibble",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=tibble"
},
"13": {
"@type": "SoftwareApplication",
"identifier": "tidyr",
"name": "tidyr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=tidyr"
},
"14": {
"@type": "SoftwareApplication",
"identifier": "xml2",
"name": "xml2",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=xml2"
},
"SystemRequirements": null
},
"fileSize": "761.031KB",
"citation": [
{
"@type": "SoftwareSourceCode",
"datePublished": "2025",
"author": [
{
"@type": "Person",
"givenName": [
"Jeffrey",
"R."
],
"familyName": "Stevens"
}
],
"name": "Extract Data from NCAA Women's and Men's Volleyball Website",
"url": "https://github.com/JeffreyRStevens/ncaavolleyballr",
"description": "R package version 0.5.0"
}
]
}
GitHub Events
Total
- Create event: 6
- Release event: 3
- Issues event: 7
- Watch event: 5
- Delete event: 1
- Issue comment event: 6
- Public event: 1
- Push event: 111
- Pull request event: 18
Last Year
- Create event: 6
- Release event: 3
- Issues event: 7
- Watch event: 5
- Delete event: 1
- Issue comment event: 6
- Public event: 1
- Push event: 111
- Pull request event: 18
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 4
- Total pull requests: 10
- Average time to close issues: 2 days
- Average time to close pull requests: about 13 hours
- Total issue authors: 1
- Total pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 0.5
- Merged pull requests: 7
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 4
- Pull requests: 10
- Average time to close issues: 2 days
- Average time to close pull requests: about 13 hours
- Issue authors: 1
- Pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 0.5
- Merged pull requests: 7
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- JeffreyRStevens (3)
Pull Request Authors
- JeffreyRStevens (9)
- widbuntu (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- cran 222 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 3
- Total maintainers: 1
cran.r-project.org: ncaavolleyballr
Extract Data from NCAA Women's and Men's Volleyball Website
- Homepage: https://github.com/JeffreyRStevens/ncaavolleyballr
- Documentation: http://cran.r-project.org/web/packages/ncaavolleyballr/ncaavolleyballr.pdf
- License: MIT + file LICENSE
-
Latest release: 0.4.3
published 11 months ago
Rankings
Dependent packages count: 27.4%
Dependent repos count: 33.7%
Average: 49.3%
Downloads: 86.9%
Maintainers (1)
Last synced:
10 months ago
Dependencies
.github/workflows/pkgdown.yaml
actions
- JamesIves/github-pages-deploy-action v4.5.0 composite
- actions/checkout v4 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/test-coverage.yaml
actions
- actions/checkout v4 composite
- actions/upload-artifact v4 composite
- codecov/codecov-action v4 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
DESCRIPTION
cran
- R >= 4.1 depends
- cli * imports
- curl * imports
- dplyr * imports
- httr2 * imports
- purrr * imports
- rlang * imports
- rvest * imports
- stringr * imports
- testthat >= 3.0.0 suggests