Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sportsdataverse/recruitR
A college football recruiting package
https://github.com/sportsdataverse/recruitR
college-football football r rstats sports sports-analytics sportsanalytics sportsdataverse
Last synced: 3 months ago
JSON representation
A college football recruiting package
- Host: GitHub
- URL: https://github.com/sportsdataverse/recruitR
- Owner: sportsdataverse
- License: other
- Created: 2020-06-20T02:20:16.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-12-13T04:05:05.000Z (almost 2 years ago)
- Last Synced: 2023-03-05T06:35:45.350Z (over 1 year ago)
- Topics: college-football, football, r, rstats, sports, sports-analytics, sportsanalytics, sportsdataverse
- Language: R
- Homepage: https://recruitR.sportsdataverse.org/
- Size: 16.2 MB
- Stars: 15
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.Rmd
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - sportsdataverse/recruitR - A college football recruiting package (R)
README
---
output: github_document
---[![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg?style=for-the-badge)](https://lifecycle.r-lib.org/articles/stages.html#experimental)
[![Version-Number](https://img.shields.io/github/r-package/v/sportsdataverse/recruitR?label=recruitR&logo=R&logoColor=white&style=for-the-badge)](https://github.com/sportsdataverse/recruitR) [![R-CMD-check](https://img.shields.io/github/workflow/status/sportsdataverse/recruitR/R-CMD-check?label=R-CMD-Check&logo=R&logoColor=white&style=for-the-badge)](https://github.com/sportsdataverse/recruitR/actions/workflows/R-CMD-check.yaml)
![Contributors](https://img.shields.io/github/contributors/sportsdataverse/recruitR?style=for-the-badge)
[![Twitter Follow](https://img.shields.io/twitter/follow/saiemgilani?color=blue&label=%40saiemgilani&logo=twitter&style=for-the-badge)](https://twitter.com/saiemgilani)```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```
A college football recruiting package`recruitR` is an R package for working with college sports recruiting data. It is an R API wrapper around [collegefootballdata's](https://collegefootballdata.com/) recruiting and roster endpoints.
__Note:__ For details on the data sources, please go the website linked above. Sometimes there are inconsistencies in the underlying data itself. Please report issues here or to [https://collegefootballdata.com/](https://collegefootballdata.com/).
## Installation
You can install the released version of [**`recruitR`**](https://github.com/sportsdataverse/recruitR) from [GitHub](https://github.com/sportsdataverse/recruitR) with:
```r
# 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/recruitR")
``````r
# if you would prefer devtools installation
if (!requireNamespace('devtools', quietly = TRUE)){
install.packages('devtools')
}
# Alternatively, using the devtools package:
devtools::install_github(repo = "sportsdataverse/recruitR")
```## Offensive Tackle Example
```{r examplerdm, message=FALSE, warning=FALSE, results='hide'}
library(recruitR)
library(dplyr)
library(ggplot2)
```
Let's say that we are interested in seeing how many offensive tackles in the 2020 recruiting cycle were:- located in Florida
- located in the states bordering Florida
- ranked inside the top 1000```{r OTs, message=FALSE, warning=FALSE}
FL_OTs <- cfbd_recruiting_player(2020, recruit_type = 'HighSchool', state='FL', position ='OT')
GA_OTs <- cfbd_recruiting_player(2020, recruit_type = 'HighSchool', state='GA', position ='OT')
AL_OTs <- cfbd_recruiting_player(2020, recruit_type = 'HighSchool', state='AL', position ='OT')
SE_OTs <- dplyr::bind_rows(FL_OTs, GA_OTs, AL_OTs)SE_OTs_1k <- SE_OTs %>%
dplyr::filter(ranking < 1000) %>%
dplyr::arrange(ranking)SE_OTs_1k %>%
dplyr::select(ranking, name, school, committed_to, position,
height, weight, stars, rating, city, state_province)
```
## Plotting the Offensive Tackles by StateYou can also create a plot:
```{r plot_OTs, message=FALSE, warning=FALSE}
SE_OTs_1k$stars <- factor(SE_OTs_1k$stars,levels = c(5,4,3,2))SE_OTs_1k_grp <- SE_OTs_1k %>%
dplyr::group_by(state_province, stars) %>%
dplyr::summarize(players = n()) %>%
dplyr::ungroup()ggplot(SE_OTs_1k_grp ,aes(x = state_province, y = players, fill = factor(stars))) +
geom_bar(stat = "identity",colour='black') +
xlab("State") + ylab("Number of Players") +
labs(title="Top-1000 Offensive Tackles in FL, GA, and AL - Class of 2020",
subtitle="Figure: @SaiemGilani | Data: @CFB_data with #recruitR")+
geom_text(aes(label = players),size = 4, position = position_stack(vjust = 0.5))+
scale_fill_manual(values=c("dodgerblue2","lightskyblue","red3","ghostwhite"))+
theme(legend.title = element_blank(),
legend.text = element_text(size = 12, margin=margin(t=0.2,r=0,b=0.2,l=-1.2,unit=c("mm")),
family = "serif"),
legend.background = element_rect(fill = "grey99"),
legend.key.width = unit(.2,"cm"),
legend.key.size = unit(.3,"cm"),
legend.position = c(0.25, 0.84),
legend.margin=margin(t = 0.4,b = 0.4,l=-1.2,r=0.4,unit=c('mm')),
legend.direction = "horizontal",
legend.box.background = element_rect(colour = "#500f1b"),
axis.title.x = element_text(size = 12, margin = margin(0,0,1,0,unit=c("mm")),
family = "serif",face="bold"),
axis.text.x = element_text(size = 10, margin=margin(0,0,1,0,unit=c("mm")),
family = "serif"),
axis.title.y = element_text(size = 12, margin = margin(0,0,0,0,unit=c("mm")),
family = "serif",face="bold"),
axis.text.y = element_text(size = 12, margin = margin(1,1,1,1,unit=c("mm")),
family = "serif"),
plot.title = element_text(size = 14, margin = margin(t=0,r=0,b=1.5,l=0,unit=c("mm")),
lineheight=-0.5, family = "serif",face="bold"),
plot.subtitle = element_text(size = 12, margin = margin(t=0,r=0,b=2,l=0,unit=c("mm")),
lineheight=-0.5, family = "serif"),
plot.caption = element_text(size = 12, margin=margin(t=0,r=0,b=0,l=0,unit=c("mm")),
lineheight=-0.5, family = "serif"),
strip.text = element_text(size = 10, family = "serif",face="bold"),
panel.background = element_rect(fill = "grey95"),
plot.background = element_rect(fill = "grey85"),
plot.margin=unit(c(top=0.4,right=0.4,bottom=0.4,left=0.4),"cm"))```
## **Documentation**
For more information on the package and function reference, please see
the [**`recruitR`** documentation
website](https://recruitR.sportsdataverse.org).## **Breaking Changes**
[**Full News on
Releases**](https://recruitR.sportsdataverse.org/news/index.html)## Follow the [SportsDataverse](https://twitter.com/SportsDataverse) on Twitter and star this repo
Follow](https://img.shields.io/twitter/follow/SportsDataverse?color=blue&label=%40SportsDataverse&logo=twitter&style=for-the-badge)](https://twitter.com/SportsDataverse)[![GitHub
stars](https://img.shields.io/github/stars/sportsdataverse/recruitR.svg?color=eee&logo=github&style=for-the-badge&label=Star%20recruitR&maxAge=2592000)](https://github.com/sportsdataverse/recruitR/stargazers/)## **Our Authors**
- [Saiem Gilani](https://twitter.com/saiemgilani)
## **Citations**
To cite the [**`cfbfastR`**](https://cfbfastR.sportsdataverse.org/) R
package in publications, use:BibTex Citation
``` bibtex
@misc{gilani_2021_recruitr,
author = {Gilani, Saiem},
title = {recruitR: The SportsDataverse's R Package for College Sports Recruiting Data.},
url = {https://recruitR.sportsdataverse.org/},
year = {2021}
}
```