Skip to content

Instantly share code, notes, and snippets.

John Horton johnjosephhorton

Block or report user

Report or block johnjosephhorton

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@johnjosephhorton
johnjosephhorton / lazy_way_to_install_all_R_packages.sh
Created Jul 26, 2019
Lazy way to get all the packges you use & then install them at once
View lazy_way_to_install_all_R_packages.sh
# Find all your R files & get just the package names, uniquely
find ../analysis/ -name *R -print0 | xargs -0 grep -h 'library*' | sed 's/library//g' | sed 's/#//g' | sed 's/ //g' | sort | uniq|\
sed 's/(//g' | sed 's/)//g' > package_list.txt
# Install each package
cat package_list.txt | xargs -I {} Rscript -e 'install.packages("{}")'
View coef plot.R
#!/usr/bin/Rscript --vanilla
suppressPackageStartupMessages({
library(magrittr)
library(dplyr)
library(foreign)
library(plm)
library(reshape2)
library(stargazer)
library(ggplot2)
@johnjosephhorton
johnjosephhorton / Makefile
Last active Aug 8, 2018
Real world Makefile for a paper
View Makefile
project_name = hot_towel
ts := $(shell /bin/date "+%Y-%m-%d---%H-%M-%S")
params =
# DONE
params += params_exp_details.tex
params_exp_details.tex: ../analysis/params_exp_details.R
cd ../analysis && ./params_exp_details.R
View uc_salaries_by_dept_and_rank.R
library(XML)
library(ggplot2)
df <- readHTMLTable("http://projects.dailycal.org/paychecker/departments/")[[1]]
DeMoney <- function(x) as.numeric(gsub(",", "", gsub("\\$", "", as.character(x))))
money.columns <- c("All", "Professor", "Associate professor", "Assistant professor",
"Lecturer")
View geofacet_usage_example.R
library(geofacet) # my forked version
library(ggplot2)
library(jsonlite)
library(ggrepel)
# grab top cities
cities <- fromJSON("https://gist.githubusercontent.com/Miserlou/c5cd8364bf9b2420bb29/raw/2bf258763cdddd704f8ffd3ea9a3e81d25e2c6f6/cities.json")
n <- 50
x <- cities$longitude[1:n]
View simualte_bartik.R
library(lfe)
library(stargazer)
set.seed(6152011)
# Number of cities
L <- 1000
# Number of industries
K <- 3
View simulate_experiment.R
SimExperiment <- function(num.groups, sample.size, beta, randomize.by.group = FALSE){
"Simulate running an analysis of the experiment with linear regression"
df <- CreateClusteredData(num.groups, sample.size, beta, randomize.by.group = randomize.by.group)
m <- lm(y ~ trt, data = df)
c(as.numeric(coef(m)[2]), as.numeric(sqrt(diag(vcov(m))[2])))
}
View simulate_clustered_data.R
CreateClusteredData <- function(num.groups, sample.size, beta, randomize.by.group = FALSE){
individual <- 1:sample.size # index for individuals
group <- sample(1:num.groups, size = sample.size, replace = TRUE) # randomly assign everyone to a group
group.effect <- rnorm(num.groups) # create a group-specific effect
eta <- group.effect[group] # give each individual their group-specific effect
epsilon <- rnorm(sample.size) # given each individual an individual-specific effect
if (randomize.by.group){
group.trt.assignment <- rbinom(num.groups, 1, 0.5)
trt <- group.trt.assignment[group]
} else {
View gist:118e251163515ef5703f
ts := $(shell /bin/date "+%Y-%m-%d---%H-%M-%S")
project.pdf: project.bib project.tex
pdflatex -interaction=nonstopmode project
bibtex project
pdflatex -interaction=nonstopmode project
pdflatex -interaction=nonstopmode project
backup:
tar --exclude='../backups' -zcvf ../backups/project_$(ts).tar.gz ../
@johnjosephhorton
johnjosephhorton / strat.R
Created Feb 8, 2015
showing_stratification_advantage
View strat.R
library(ggplot2)
# simulate experiments using stratification and randomization and report
# absolute difference in estimates from true treatment effect, tau.
simExp <- function(n, tau, beta = 3){
x <- sort(runif(n))
W.rand <- rbinom(n,1,0.5)
W.strat <- rep(c(0,1), n/2)
epsilon <- rnorm(n, 0, 0.5)
You can’t perform that action at this time.