Skip to content

Instantly share code, notes, and snippets.

View rasmusab's full-sized avatar

Rasmus Bååth rasmusab

View GitHub Profile
@rasmusab
rasmusab / make-iba-cocktails-pdf-gif-datatable.R
Created March 12, 2023 23:04
A couple of quick hacks that can be done with a scraped IBA cocktails dataset
# This script takes the scraped IBA cocktails dataset found here:
# https://github.com/rasmusab/iba-cocktails
# And produces a four page PDF with all the IBA cocktails and animated GIFs that
# loops through these, as well.
library(tidyverse)
library(glue)
library(ggtext)
library(gridExtra)
@rasmusab
rasmusab / chat-gtp-api-call.R
Last active June 22, 2023 06:46
How to call the ChatGTP API from R (in 2023-03-01)
# How to call the new (as of 2023-03-01) ChatGTP API from R
# Get your API key over here: https://platform.openai.com/
api_key <- "sk-5-your-actual-api-key-Fvau6" # Don't share this! 😅
library(httr)
library(stringr)
# Calls the ChatGTP API with the given promps and returns the answer
ask_chatgtp <- function(prompt) {
response <- POST(
@rasmusab
rasmusab / bowling-t-test.R
Created February 20, 2023 16:45
A much improved bowling T-test in R
bowling_animation_urls <- c(
"0.01" = "https://i.imgur.com/Kn8CQbj.gif",
"0.05" = "https://i.imgur.com/HFTKdDL.gif",
"0.1" = "https://i.imgur.com/8Sw54Mz.gif",
"1" = "https://i.imgur.com/kjROdhj.gif"
)
# We need to download the animations to the session temp dirercorty to display
# them in the Rstudio Viever pane
bowling_animation_html <- sapply(bowling_animation_urls, function(url) {
# Name Type 1 Type 2 Total HP Attack Defense Sp. Atk Sp. Def Speed Generation Legendary
1 Bulbasaur Grass Poison 318 45 49 49 65 65 45 1 False
2 Ivysaur Grass Poison 405 60 62 63 80 80 60 1 False
3 Venusaur Grass Poison 525 80 82 83 100 100 80 1 False
3 VenusaurMega Venusaur Grass Poison 625 80 100 123 122 120 80 1 False
4 Charmander Fire 309 39 52 43 60 50 65 1 False
5 Charmeleon Fire 405 58 64 58 80 65 80 1 False
6 Charizard Fire Flying 534 78 84 78 109 85 100 1 False
6 CharizardMega Charizard X Fire Dragon 634 78 130 111 130 85 100 1 False
6 CharizardMega Charizard Y Fire Flying 634 78 104 78 159 115 100 1 False
@rasmusab
rasmusab / nobel.csv
Created November 5, 2020 23:23
Table with all Nobel prize winners from 1901 to 2020
We can make this file beautiful and searchable if this error is corrected: Unclosed quoted field in line 4.
year,category,prize,motivation,prize_share,laureate_id,laureate_type,full_name,birth_date,birth_city,birth_country,gender,organization_name,organization_city,organization_country,death_date,death_city,death_country
1901,Chemistry,The Nobel Prize in Chemistry 1901,in recognition of the extraordinary services he has rendered by the discovery of the laws of chemical dynamics and osmotic pressure in solutions,1/1,160,Individual,Jacobus H. van 't Hoff,1852-08-30,Rotterdam,the Netherlands,male,Berlin University,Berlin,Germany,1911-03-01,Berlin,Germany
1901,Literature,The Nobel Prize in Literature 1901,"in special recognition of his poetic composition, which gives evidence of lofty idealism, artistic perfection and a rare combination of the qualities of both heart and intellect",1/1,569,Individual,Sully Prudhomme,1839-03-16,Paris,France,male,NA,NA,NA,1907-09-07,Châtenay,France
1901,Medicin,The Nobel Prize in Physiology or Medicine 1901,"for his work on serum therapy, especially its application against diphtheria, b
@rasmusab
rasmusab / get_nobel_data.R
Created November 5, 2020 23:21
This script pulls down information on all Nobel prize winners
# This R script pulls down information on all Nobel prize winners
# from the official Nobel Prize API and selects a subset of this
# information that is then saves to a CSV-file.
# By Rasmus Bååth, 2020, in the public domain.
library(tidyverse)
library(httr)
nobel_response <- GET("http://api.nobelprize.org/2.0/laureates?limit=100000&format=json")
nobel_raw <- as_tibble(content(nobel_response, simplifyVector = TRUE, flatten = TRUE)$laureates)
@rasmusab
rasmusab / tidyverse_in_a_table.R
Last active October 30, 2020 23:03
The tidyverse documentation into a DT table
library(DT)
library(glue)
library(tidyverse)
package_names <- tidyverse:::core
tidyverse_functions <- map_dfr(package_names, function(package_name) {
tibble(
Package = package_name,
Function = as.character(lsf.str(glue("package:{Package}"))),
@rasmusab
rasmusab / bayescamp_get_up_to_speed_with_bayes_test_script.R
Created November 21, 2019 10:04
BayesCamp 2019 tutorial - Get up to speed with Bayes test script
# Prior to the tutorial make sure that the script below runs without error on your R installation.
# You first need to install the following packages:
# install.packages(c("rstanarm", "prophet", "CausalImpact", "rstan"))
library(rstanarm)
library(prophet)
library(CausalImpact)
library(rstan)
library(ggridges)
@rasmusab
rasmusab / org.apache.arrow.vector.util.OversizedAllocationException_spark_error.txt
Created October 7, 2019 12:16
A long spark error: org.apache.arrow.vector.util.OversizedAllocationException
---------------------------------------------------------------------------
Py4JJavaError Traceback (most recent call last)
in
----> 1 device_attack_result.count()
2
3
4
/usr/lib/spark/python/pyspark/sql/dataframe.py in count(self)
520 2
@rasmusab
rasmusab / groggbloggen_2015-2019.csv
Created June 29, 2019 14:50
Daily page views from groggbloggen.se 2015 to mid 2019
date pageviews
2015-01-01 13
2015-01-02 27
2015-01-03 56
2015-01-04 18
2015-01-05 18
2015-01-06 8
2015-01-07 19
2015-01-08 32
2015-01-09 45