Skip to content

Instantly share code, notes, and snippets.

View richarddmorey's full-sized avatar

Richard Morey richarddmorey

  • Cardiff University
  • Cardiff, Wales
View GitHub Profile
@richarddmorey
richarddmorey / Bailey_Geary_2009.csv
Last active August 24, 2021 10:09
Replicating table 1 from Rouder and Morey (2012)
No homo CC Latitude north lat_from_o tpar meantemp hitemp lotemp diftemp Isosd dpop_30
1 1 595 27 0 35 1 17.8 30 1 29 0.218223437 13
2 1 475 27 0 35 1 17.8 30 1 29 0.218223437 13
3 1 507 27 0 35 1 17.8 30 1 29 0.218223437 13
4 1 570 27 0 35 1 17.8 30 1 29 0.218223437 13
6 1 776 4 1 4 7 24.7 26 11 15 0.212807364 13
7 1 506.333 4 1 4 7 24.7 26 11 15 0.212807364 13
8 1 622.5 4 1 4 7 24.7 26 11 15 0.212807364 13
5 1 500 7 1 1 7 22.2 25 6 19 0.212807364 13
15 1 775 40 1 32 4 5.8 31 -1 32 0.25577606 16
@richarddmorey
richarddmorey / app2.R
Created July 21, 2021 20:27
testing answer to stackexchange question
# Test answer to https://stackoverflow.com/questions/68473292/prevent-double-execution-of-shiny-reactive-with-two-dependency-pathways/68475515#68475515
library(shiny)
library(digest)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
textInput("M", "M:", ""),
uiOutput("S_UI"),
@richarddmorey
richarddmorey / sample_constraints.R
Created May 12, 2021 16:29
rank constraints in multivariate normals
## Define MVTN parameters
mu = c(-1,0,1)
Sigma = matrix(
c(1, 0, 0,
0, 1, .5,
0, .5, 1
), 3,3)
p = length(mu)
library(mvtnorm)
@richarddmorey
richarddmorey / corre_sim.R
Created May 8, 2021 10:54
simulating correlations
N = 20
library(mvtnorm)
# No shared variance between a and (b,c)
Sigma = matrix(c(1,0,0,
0,1,.5,
0,.5,1), 3, 3)
# Simulation
@richarddmorey
richarddmorey / guess_number.txt
Created February 8, 2021 10:14
ask johnny answer
https://www.theguardian.com/science/2021/feb/08/can-you-solve-it-think-of-a-number
The suggested answer using "yes" and "no" amounts to encoding in base 2, which is inefficient because there are
three possible response options ("yes", "no", "I don't know"). We want to find a way of encoding in base 3, which
amounts to assigning 1/3 of the numbers to "yes", 1/3 to "no", and 1/3 to "I don't know". We can do that by telling
Johnny on the first step (and analogously afterward):
"I have two numbers in mind. One of them is 334. The other is less than 667 but greater than 333, but I will not tell you what it is. Is your
number less than both of my numbers?"
@richarddmorey
richarddmorey / rlogis.R
Created January 3, 2021 17:37
rlogis, R and JAGS
x = rlogis(10000,0,10)
mod = "model{
y ~ dlogis(0, 1/10)
}
"
library(rjags)
m = rjags::jags.model(file = textConnection(mod))
s = rjags::coda.samples(m,n.iter = 10000,variable.names = "y")
@richarddmorey
richarddmorey / time.R
Created December 27, 2020 22:31
timing subsetting
library(tictoc)
df = data.frame(y = rnorm(10000000), x = rbinom(10000000,1,.5))
tic()
z = df[df$x == 1,]$y
toc()
rm(z)
tic()
@richarddmorey
richarddmorey / X2.R
Created July 29, 2020 06:45
Two proportions, p value
N = c(16, 16)
y = c(3, 9)
actual_result = prop.test(y, N, correct = FALSE)
compute_p_value = function(p0){
## Probability of all outcomes,
## assuming independence
pr_X2s =
outer( dbinom(0:N[1], N[1], p0),
@richarddmorey
richarddmorey / eqt_pvalue.R
Last active July 17, 2020 11:37
Compute p value for equivalence test
data(attitude)
library(cocor)
## EQtest at alpha = .05 needs a 90% CI
cocor(~ rating + complaints | rating + learning, data = attitude, alternative = "less",
null.value = .2, test = "zou2007", conf.level = .9)
zou_ci_func = function(conf.level, ...)
{
@richarddmorey
richarddmorey / repro_subways.R
Created June 21, 2020 18:42
Attempt to reproduce Maglio & Polman (2014) Figure 1
## Get file off OSF
tf = tempfile(fileext = ".xlsx")
download.file(url = "https://osf.io/846cb/download", destfile = tf)
## Create summaries
library(tidyverse)
readxl::read_xlsx(tf) %>%
group_by(STN_NUMBER, DIRECTION) %>%
summarise(