Skip to content

Instantly share code, notes, and snippets.

@steveharoz
steveharoz / readme.md
Last active October 26, 2023 21:06
NOAA Storm and Hurricane data for this year

Plot:

image

#' Find every `scale_colour_*()` in the environment and remap it for a different colour-based aesthetic.
#' The new scale functions will be named `scale_[new_aesthetics]_*()`.
#'
#' @param new_aesthetics The name of one or more new colour-based aesthetics to create scales for
#' @rdname reuse_scale
#' @export
reuse_all_colour_scales <- function(new_aesthetics = c("fill")) {
new_aesthetic_name <- paste(new_aesthetics, collapse="")
# get colour scales
all_variable_names <- ls(envir = parent.env(current_env()))
@steveharoz
steveharoz / eye.R
Last active September 13, 2023 11:16
Logo for the Vision Science feed on BlueSky
library(tidyverse)
# from https://github.com/matsukik/grt/blob/master/R/gaborPatch.R
gaborPatchTidy <- function(
spatial_frequency,
orientation_degrees = 0,
orientation_radians = (orientation_degrees * pi)/180,
peak_contrast = 1,
sigma = 1/6, # same for x and y
psi = 0,
@steveharoz
steveharoz / datacolada 110.R
Last active June 20, 2023 14:15
datacolada 110 replot
library(tidyverse)
library(foreign) # for read.spss()
library(ggdist) # for geom_dots()
# load the data
# source: https://osf.io/sd76g/
data = foreign::read.spss("data_Experiment_4.sav", to.data.frame=TRUE) %>%
as_tibble()
@steveharoz
steveharoz / generate graph analyze.R
Last active June 13, 2023 08:38
Example data for analysis
library(tidyverse)
library(lmerTest)
# subject count
COUNT = 5
set.seed(8675309)
# generate a unique intercept per subject
data = tibble(
@steveharoz
steveharoz / image.md
Last active May 18, 2023 11:42
perceived correlation of rank

image

@steveharoz
steveharoz / extract citation numbers.R
Created January 7, 2023 08:07
Extract IEEE citation numbers from a PDF
# Extract all citation numbers such as [1] from a PDF's text
# It also includes cases for multiples [1, 3] and ranges [1-5]
# It tries to exclude confidence intervals by skipping
#
# written by Steve Haroz with help from ChatGPT
# MIT license
library(tidyverse)
library(pdftools)
@steveharoz
steveharoz / multiple comparison simulation.R
Last active December 1, 2022 02:28
Simulate multiple comparisons to show that an adjustment is needed
COUNT = 100000
# How often does a single t-test of random data yield p<0.05?
replicate(COUNT,
t.test(rnorm(20))$p.value < 0.05
) %>% mean()
#> 0.05073
# 5% false positive rate
@steveharoz
steveharoz / hierarchical pie.R
Created April 5, 2022 02:16
hierarchical pie
library(tidyverse)
COUNT = 40
data = tibble(
car = paste0(sample(LETTERS, COUNT, TRUE), sample(letters, COUNT, TRUE), sample(letters, COUNT, TRUE)),
value = rnorm(COUNT, 3),
group = c(rep("Petrol", COUNT/2), rep("Hybrid", COUNT/4), rep("Pure Electric", COUNT/8), rep("Diesel", COUNT/8))
)