Skip to content

Instantly share code, notes, and snippets.

View Ryo-N7's full-sized avatar

Ryo Nakagawara Ryo-N7

View GitHub Profile
@Ryo-N7
Ryo-N7 / check-action-sequence-statsbomb.R
Last active December 7, 2023 18:23
Check for specific sequence of actions in StatsBomb event data
library(soccermatics)
library(StatsBombR)
library(tidyverse)
library(ggsoccer)
matchesdf <- FreeMatches(FreeCompetitions()) %>% filter(competition.competition_id == 11, season.season_id == 90)
barhue <- matchesdf %>% filter(match_id == 3773369)
barhue_df <- get.matchFree(barhue) %>% allclean()
@Ryo-N7
Ryo-N7 / player_minutes_LFC_10_11.r
Last active December 26, 2022 13:19
Player minutes chart Liverpool FC, 2010-2011 (Hodgson vs. Dalglish)
## pacman pkg to load/install libraries from cran
## polite is a github only pkg though.
pacman::p_load(tidyverse, polite, scales, ggimage, ggforce,
rvest, glue, extrafont, ggrepel, magick)
loadfonts()
## Squad details for 2010-2011 season
url <- "https://www.transfermarkt.com/liverpool-fc/leistungsdaten/verein/31/reldata/GB1%262010/plus/1"
session <- bow(url)
@Ryo-N7
Ryo-N7 / liverpool_age_utility.rmd
Last active February 14, 2022 15:49
Liverpool FC's Age-Utility Graph
## Packages
```{r}
library(rvest)
library(polite) # devtools::install_github("dmi3kno/polite")
library(dplyr)
library(tidyr)
library(ggplot2)
library(scales)
library(purrr)
@Ryo-N7
Ryo-N7 / epl_goal_contribution_matrix_18-19.r
Last active April 1, 2021 14:19
Goal contribution matrix for Premier League 2018-2019
# pkgs
pacman::p_load(tidyverse, polite, scales, ggimage, ggforce,
rvest, glue, extrafont, ggrepel, magick)
loadfonts()
## add_logo function from Thomas Mock
add_logo <- function(plot_path, logo_path, logo_position, logo_scale = 10){
# Requires magick R Package https://github.com/ropensci/magick
@Ryo-N7
Ryo-N7 / jleague_avg_value_age.r
Last active February 15, 2021 16:13
J-League: Average Value vs. Average Age Plot
# saw these types of plots for different leagues on r/soccer
# (originally by Twitter: @fussbALEXperte)
# so thought I'd make my own version using R!
library(rvest)
library(polite)
library(dplyr)
library(tidyr)
library(purrr)
library(ggplot2)
@Ryo-N7
Ryo-N7 / cranlogs_top_10_packages.r
Last active December 18, 2020 20:58
top 10 most downloaded r packages
library(dplyr)
library(tidyr)
library(ggplot2)
library(cranlogs)
library(ggtextures) # devtools::install_github("clauswilke/ggtextures")
library(extrafont)
loadfonts()
# top 10 package downloads from 9/29 to 10/28 from 'cranlogs' package
top_10_october <- cran_top_downloads(when = "last-month", count = 10)
@Ryo-N7
Ryo-N7 / epl_topgoalscorers.Rmd
Last active May 7, 2020 11:05
Premier League Top Goalscorers by Minutes Played
# pkgs
```{r, message=FALSE, warning=FALSE}
pacman::p_load(dplyr, tidyr, purrr, scales,
ggplot2, ggtext, tibble, stringr,
glue, extrafont, ggbump, forcats)
loadfonts()
```
## raw data (scraped from transfermarkt)
@Ryo-N7
Ryo-N7 / progressive_pass_bundesliga_1920_hinrunde.Rmd
Last active May 6, 2020 07:01
Progressive Pass Plot (Bundesliga 2019-2020, Hinrunde)
# pkgs
```{r, message=FALSE, warning=FALSE}
pacman::p_load(tidyverse, polite, scales, ggimage,
ggforce, ggtext,
rvest, glue, extrafont, ggrepel, magick)
loadfonts()
```
## add_logo
@Ryo-N7
Ryo-N7 / xG_xA_plot_MD21.Rmd
Last active May 6, 2020 07:01
np-xG per 90 vs. xA per 90
# pkgs
```{r, message=FALSE, warning=FALSE}
pacman::p_load(tidyverse, polite, scales, ggimage,
ggforce, ggtext,
rvest, glue, extrafont, ggrepel, magick)
loadfonts()
```
## add_logo
@Ryo-N7
Ryo-N7 / xG_xA_plot_bundesliga_hinrunde.Rmd
Created January 14, 2020 10:04
np-xG per 90 vs. xA per 90 plot (Bundesliga 2019-2020, Hinrunde)
# pkgs
```{r, message=FALSE, warning=FALSE}
pacman::p_load(tidyverse, scales, ggforce, ggtext,
rvest, glue, extrafont, ggrepel, magick)
loadfonts()
```
## add_logo