Skip to content

Instantly share code, notes, and snippets.

View schochastics's full-sized avatar
👨‍🍼

David Schoch schochastics

👨‍🍼
View GitHub Profile
@schochastics
schochastics / storms.R
Created September 5, 2017 11:36
replication of u/Tjukanov's post in r/dataisbeautiful in R
################################################################################
# replication of https://i.redd.it/q0udc4wfhvjz.gif
# originally posted to r/dataisbeautiful by u/Tjukanov
################################################################################
library(tidyverse)
library(gganimate)
library(lubridate)
#data from: https://www.ncdc.noaa.gov/ibtracs/index.php?name=wmo-data
df <- read_csv("Allstorms.ibtracs_wmo.v03r09.csv")
@schochastics
schochastics / beergarden.csv
Created January 19, 2018 15:19
Locations of beergardens around Munich
Name Biermarke Long Lat
Augustiner-Keller Augustiner 11.551223 48.14374
Aujäger Hacker Pschorr 11.44961 47.919287
Alte Villa Kaltenberger 11.098123 48.026349
Alter Wirt Krailling Augustiner 11.417515 48.098479
Alter Wirt Etterschlag Paulaner 11.200658 48.086221
Alter Wirt Moosach Hofbräu 11.51235 48.180948
Alter Wirt Ramersdorf Augustiner 11.614319 48.114996
Ayinger Ottobrunn Ayinger 11.6647398 48.0651976
Bergl Hacker Pschorr 11.567563 48.260538
@schochastics
schochastics / sampleEntropy.cpp
Last active February 7, 2018 21:27
Calculate Sample Entropy in Rcpp
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
double SampleEntropy(NumericVector data, int m, double r, int N, double sd)
{
int Cm = 0, Cm1 = 0;
double err = 0.0, sum = 0.0;
err = sd * r;
@schochastics
schochastics / get_squads.R
Created September 30, 2018 20:56
get squads from footballsquads.co.uk
library(rvest)
library(tidyverse)
leagues <- "http://www.footballsquads.co.uk/archive.htm" %>%
read_html() %>%
html_nodes("a") %>%
html_attr("href")
leagues_tbl <- as_tibble(str_split(leagues,"/",simplify = T)) %>%
mutate(link=leagues) %>%
@schochastics
schochastics / umap.R
Last active October 10, 2018 19:24
Quick and dirty way of using UMAP in R using rPyhton
#install UMAP from https://github.com/lmcinnes/umap
#install.packages("rPython")
umap <- function(x,n_neighbors=10,n_components=2,min_dist=0.1,metric="euclidean"){
x <- as.matrix(x)
colnames(x) <- NULL
rPython::python.exec( c( "def umap(data,n,d,mdist,metric):",
"\timport umap" ,
"\timport numpy",
"\tembedding = umap.UMAP(n_neighbors=n,n_components=d,min_dist=mdist,metric=metric).fit_transform(data)",
library(rvest)
library(tidyverse)
# helper functions
get_theo_refs_cache <- function(url){
doc <- read_html(url)
caps <- doc %>% html_nodes("caption") %>% html_text()
skippy <- (any(caps=="Hypothesis" | caps=="Hypotheses"))+0
refs <- doc %>%
html_table() %>%
@schochastics
schochastics / radial_grp_layout.R
Last active February 8, 2019 13:56
radial layout with groups
library(igraph)
library(smglr)
library(tidyverse)
library(ggraph)
g <- sample_islands(9,40,0.2,10)
g <- simplify(g)
V(g)$grp <- rep(1:9,each=40)
el <- get.edgelist(g)
E(g)$col <- case_when(
V(g)$grp[el[,1]]==1 & V(g)$grp[el[,2]] == 1 ~ 1,
@schochastics
schochastics / formations.csv
Created February 25, 2019 23:04
Premier league formation
id home away
1 3-2-2-2-1 4-2-2-1-1
1 P. Cech Vardy
1 Holding Okazaki
1 Monreal Albrighton
1 Kolasinac Mahrez
1 Elneny Ndidi
1 G. Xhaka M. James
1 Bellerin Fuchs
1 Oxlade-Chamberlain Maguire
@schochastics
schochastics / the_matrix.R
Created April 1, 2019 10:38
the matrix with gganimate
library(tidyverse)
library(gganimate)
ascii <- c(";", ":", "!", "?", ".", "'", "\"", "(", ")", "[", "]", "{",
"}", "@", "*", "/", "\\", "&", "#", "%", "`", "^", "+", "<",
"=", ">", "|", "~", "$", "0", "1", "1", "10", "2", "2", "3",
"3", "4", "4", "5", "5", "6", "6", "7", "7", "8", "8", "9", "9",
"a", "a", "A", "b", "b", "B", "c", "c", "C", "d", "d", "D", "e",
"e", "E", "f", "f", "F", "g", "g", "G", "h", "h", "H", "i", "i",
"I", "j", "j", "J", "k", "k", "K", "l", "l", "L", "m", "m", "M",
"n", "n", "N", "o", "o", "O", "p", "p", "P", "q", "q", "Q", "r",
@schochastics
schochastics / nba_scorer.R
Created April 10, 2019 17:58
Barchart Race of Top NBA Scorers
library(rvest)
library(tidyverse)
library(gganimate)
library(extrafont)
loadfonts()
get_season <- function(x){
url <- paste0("https://www.basketball-reference.com/leagues/NBA_",x,"_totals.html")
url %>%
read_html() %>%