Skip to content

Instantly share code, notes, and snippets.

library(dplyr)
library(ggplot2)
probs <- c(home = 0.35, draw = 0.4, away = 0.25)
points <- c(home = 0, draw = 1, away = 3)
n_sim <- 1e4
n_games <- 11
samples <- sample(points, size = n_sim * n_games, prob = probs, replace = TRUE)
library(dplyr)
library(ggplot2)
length_army <- 60
army_front <- function(x) (length_army * x) + length_army
army_back <- function(x) (length_army * x)
velocity_king <- length_army + length_army * sqrt(2)
@Torvaney
Torvaney / Extended Bradley-Terry model
Last active January 27, 2018 15:38
Bradley-Terry model for soccer, incorporating team strength and draw factors
data {
int<lower=0> N; // N games
int<lower=0> P; // P teams
// Each team is referred to by an integer that acts as an index for the ratings vector.
int team1[N]; // Indicator arrays for team 1
int team2[N]; // Indicator arrays for team 1
int results[N]; // Results. 1 if home win, 2 if draw, 3 if away win.
real<lower=0> nu_sigma;
@Torvaney
Torvaney / seven-planets-riddle
Last active March 23, 2018 13:35
A python script to test strategies for the for the riddle described on TED-ed's youtube channel: www.youtube.com/watch?v=dh4nEuhZBgg
"""
A python script to test strategies for the for the riddle described on TED-ed's
youtube channel: www.youtube.com/watch?v=dh4nEuhZBgg
Your interstellar police squad has tracked a group of criminals to a cluster of
seven planets. Now you must apprehend them before their reinforcements arrive.
Of course, the fugitives won’t just stay put – they’ll try to dodge you by
moving from planet to planet. Can you devise a sequence for searching the
planets that’s guaranteed to catch them in ten warps or less?
Edwin F. Meyer shows how.
@Torvaney
Torvaney / tidy-tweenr-example
Last active March 23, 2018 13:33
tidyverse-friendly (& hopefully more readable) version of the tweenr example
library(tidyverse)
library(gganimate)
library(ggforce)
library(tweenr)
# Making up data
n_balls <- 20
d <- tibble(x = rnorm(n_balls),
y = rnorm(n_balls),
time = sample(100, n_balls),
@Torvaney
Torvaney / slide_windows_comparison.R
Last active March 27, 2018 10:24
Compare methods of finding skipgram windows tidily
library(tidyverse)
library(tidytext)
# Load data ----
# Slightly different to https://juliasilge.com/blog/word-vectors-take-two/
# just because I have this data locally
austen_text <- janeaustenr::northangerabbey %>%
as_tibble() %>%
@Torvaney
Torvaney / log_function.R
Last active April 11, 2018 19:36
Experiments with dots, quoting and purrr
log <- function(f, ...) {
function_name <- as.character(substitute(f))
dots <- list(...)
args <- paste0(dots, collapse = ",")
function_result <- f(...)
print(stringr::str_glue("{function_name}({args}) -> {function_result}"))
function_result
@Torvaney
Torvaney / stirling_formula.R
Last active April 11, 2018 19:35
Stirling formula ~ Factorial
library(tidyverse)
stirling_formula <- function(n) sqrt(2*pi*n)*(n / exp(1))^n
x <- 1:10
breaks_log10 <- 1:10 %>%
map_dbl(~ 10^.x) %>%
map(~ .x*(1:10)) %>%
unlist()
@Torvaney
Torvaney / .PROFILES.md
Last active March 6, 2023 11:31
Some useful(?) stuff for a various profile files

This gist contains some useful stuff for profiles.

Currently:

  • bash
  • R
  • Visual Studio code

@Torvaney
Torvaney / premier-league-shot-counts.R
Created April 22, 2018 09:22
Animated shot counts of the Premier League with tweenr and gganimate
library(tidyverse)
shot_counts <- read_csv(here::here("data/shot_counts.csv"))
# Interpolate points
shot_counts_tween <- shot_counts %>%
filter(season < 2018) %>%
group_by(season) %>%
arrange(desc(count)) %>%
mutate(rank = row_number()) %>%