-
Notifications
You must be signed in to change notification settings - Fork 2
/
OTs1k.Rmd
99 lines (84 loc) · 4.47 KB
/
OTs1k.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
---
title: "OTs1k"
author: "Saiem Gilani <br><a href='https://twitter.com/saiemgilani' target='blank'><img src='https://img.shields.io/twitter/follow/saiemgilani?color=blue&label=%40saiemgilani&logo=twitter&style=for-the-badge' alt='@saiemgilani'/></a> <a href='https://github.com/saiemgilani' target='blank'><img src='https://img.shields.io/github/followers/saiemgilani?color=eee&logo=Github&style=for-the-badge' alt='@saiemgilani'/></a>"
opengraph:
image:
src: "https://github.com/saiemgilani/recruitR/blob/main/logo.png?raw=true"
twitter:
card: summary_large_image
creator: "@saiemgilani"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{OTs1k}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
## Offensive Tackle Example
This is a basic example which shows you how to solve a common problem:
```{r exampleots, message=FALSE, warning=FALSE, results='hide'}
if (!requireNamespace('pacman', quietly = TRUE)){
install.packages('pacman')
}
pacman::p_load_current_gh("sportsdataverse/recruitR")
pacman::p_load(dplyr, 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 OTs1k}
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, committed_to, position,
height, weight, stars, rating, city, state_province)
```
## Plotting the Offensive Tackles by State
You can also create a plot:
```{r plot_OTs1k}
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 = dplyr::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(1.5,"mm"),
legend.key.size = unit(2.0,"mm"),
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"))
```