An open API service indexing awesome lists of open source software.

https://github.com/sportsdataverse/hoopr

An R package to quickly obtain clean and tidy men's basketball play by play data.
https://github.com/sportsdataverse/hoopr

basketball college-basketball espn kenpom nba nba-analytics nba-api nba-data nba-statistics nba-stats nba-stats-api ncaa ncaa-basketball ncaa-bracket ncaa-players ncaa-ratings ncaam r sportsdataverse

Last synced: 2 months ago
JSON representation

An R package to quickly obtain clean and tidy men's basketball play by play data.

Awesome Lists containing this project

README

        

---
output: github_document
---

#

# hoopR
```{r setup, include = FALSE}
require(knitr)
if (!requireNamespace('pacman')){
install.packages('pacman')
}
pacman::p_load(dplyr)

opts_template$set(stripfigure = list(fig.height = 8, out.width = "95%"))

```

[![CRAN status](https://img.shields.io/badge/dynamic/json?style=for-the-badge&color=success&label=CRAN%20version&prefix=v&query=%24.Version&url=https%3A%2F%2Fcrandb.r-pkg.org%2FhoopR)](https://CRAN.R-project.org/package=hoopR)
[![CRAN downloads](https://img.shields.io/badge/dynamic/json?style=for-the-badge&color=success&label=Downloads&query=%24%5B0%5D.downloads&url=https%3A%2F%2Fcranlogs.r-pkg.org%2Fdownloads%2Ftotal%2F2021-10-26%3Alast-day%2FhoopR)](https://CRAN.R-project.org/package=hoopR)
[![Version-Number](https://img.shields.io/github/r-package/v/sportsdataverse/hoopR?label=hoopR&logo=R&style=for-the-badge)](https://github.com/sportsdataverse/hoopR) [![R-CMD-check](https://img.shields.io/github/actions/workflow/status/sportsdataverse/hoopR/R-CMD-check.yaml?branch=main&label=R-CMD-Check&logo=R&logoColor=white&style=for-the-badge)](https://github.com/sportsdataverse/hoopR/actions/workflows/R-CMD-check.yaml) [![Lifecycle:maturing](https://img.shields.io/badge/lifecycle-maturing-blue.svg?style=for-the-badge&logo=github)](https://github.com/sportsdataverse/hoopR/)

[![Contributors](https://img.shields.io/github/contributors/sportsdataverse/hoopR?style=for-the-badge)](https://github.com/sportsdataverse/hoopR/graphs/contributors)

[**`hoopR`**](https://hoopR.sportsdataverse.org/) is an R package for working with men's basketball data.

The package has functions to access **live play by play and box score** data from ESPN with shot locations when available. As of version 1.3.0, [**`hoopR`**](https://hoopR.sportsdataverse.org/) is also a full NBA Stats API wrapper with 127 functions added in this release.

It is additionally a scraping and aggregating interface for Ken Pomeroy's men's college basketball statistics website, [kenpom.com](https://kenpom.com/). It provides users with an active subscription the capability to scrape the website tables and analyze the data for themselves.

## Installation

You can install the CRAN version of [**```hoopR```** ](https://CRAN.R-project.org/package=hoopR) with:
```{r readme_cran_install, eval=FALSE}
install.packages("hoopR")
```

You can install the released version of [**`hoopR`**](https://github.com/sportsdataverse/hoopR/) from [GitHub](https://github.com/sportsdataverse/hoopR) with:

```{r readme_pacman_install, eval=FALSE}
# You can install using the pacman package using the following code:
if (!requireNamespace('pacman', quietly = TRUE)){
install.packages('pacman')
}
pacman::p_load_current_gh("sportsdataverse/hoopR", dependencies = TRUE, update = TRUE)
```

## Quick Start

### **NBA full play-by-play seasons (2002-`r hoopR::most_recent_nba_season()`) ~ 1-2 minutes**
```{r nba_load_pbp_readme}
tictoc::tic()
progressr::with_progress({
nba_pbp <- hoopR::load_nba_pbp()
})
tictoc::toc()
```
```{r nba_pbp_message, echo = FALSE}
glue::glue("{nrow(nba_pbp)} rows of NBA play-by-play data from {length(unique(nba_pbp$game_id))} games.")
```

### **Men's college basketball full play-by-play seasons (2006-`r hoopR::most_recent_mbb_season()`) ~ 2-3 minutes**
```{r mbb_load_pbp_readme}

tictoc::tic()
progressr::with_progress({
mbb_pbp <- hoopR::load_mbb_pbp()
})
tictoc::toc()
```

```{r mbb_pbp_message, echo = FALSE}
glue::glue("{nrow(mbb_pbp)} rows of men's college basketball play-by-play data from {length(unique(mbb_pbp$game_id))} games.")
```

## **Documentation**

For more information on the package and function reference, please see the [**`hoopR`** documentation website](https://hoopR.sportsdataverse.org).

## **Breaking Changes**

[**Full News on Releases**](https://hoopR.sportsdataverse.org/news/index.html)

## Follow the SportsDataverse (@SportsDataverse) on Twitter and star this repo

[![GitHub stars](https://img.shields.io/github/stars/sportsdataverse/hoopR.svg?color=eee&logo=github&style=for-the-badge&label=Star%20hoopR&maxAge=2592000)](https://github.com/sportsdataverse/hoopR/stargazers/)

## **Our Authors**

- Saiem Gilani (@saiemgilani)

@saiemgilani

## **Our Contributors (they're awesome)**

- Jason Lee (@theFirmAISports)

@papagorgio23

- Billy Fryer (@_b4billy_)

@billyfryer

- Ross Drucker (@rossdrucker9)

@rossdrucker

- Vladislav Shufinskiy (@vshufinskiy)

@shufinskiy

## **Citations**

To cite the [**`hoopR`**](https://hoopR.sportsdataverse.org) R package in publications, use:

BibTex Citation
```bibtex
@misc{gilani_2021_hoopR,
author = {Gilani, Saiem},
title = {hoopR: The SportsDataverse's R Package for Men's Basketball Data.},
url = {https://hoopR.sportsdataverse.org},
year = {2021}
}
```