Skip to content

Instantly share code, notes, and snippets.

Ben Marwick benmarwick

Block or report user

Report or block benmarwick

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
@benmarwick
benmarwick / gist:82776e452d61cfbd44972ae6a4c23c21
Last active Jul 20, 2019
Stacked, overlapping time series plots on a common y-axis with ggplot2
View gist:82776e452d61cfbd44972ae6a4c23c21
# starting with code from
# https://gist.github.com/tomhopper/faa24797bb44addeba79?fbclid=IwAR3FFiHpUhTESqi_ylASZP5-zYD0lOrQyyHM2MSEvnVRCIykmjNREGTv4Uk
library(ggplot2)
library(grid)
library(dplyr)
#' Create some data to plot
n <- 100
df <- data.frame(DateTime = seq(10, 20, length.out = 100),
View 001-get-pkg-data-from-cran-github-mirror.R
library(tidyverse)
library(gh)
.token = "" # get one from https://github.com/settings/tokens
# get all pkgs on GitHub mirror of CRAN
n <- 5000 # 16125 # https://github.com/cran
cran_repos <- gh("/users/:username/repos",
username = "cran",
@benmarwick
benmarwick / prentiss-1998-pca.R
Last active Apr 30, 2019
Exploring the PCA published by Prentiss (1998) to understand the usefulness of the Sullivan and Rozen debitage typology
View prentiss-1998-pca.R
#------------------------------------------------------
# Exploring the PCA published by Prentiss (1998) to understand the
# usefulness of the Sullivan and Rozen debitage typology
# read in & tidy the data -----------------------------------------------
library(tidyverse)
# got these data from table 7 (p. 644) of https://www.jstor.org/stable/2694112
# OCR'd using https://tabula.technology/
prentiss <- readr::read_csv("tabula-Prentiss 1988.csv")
@benmarwick
benmarwick / app.R
Last active May 1, 2019
Shiny app to get outlines of an object in an image using Canny edge detection
View app.R
library("shiny")
library("EBImage") # >= 4.19.3
library(imager)
ui <- fluidPage(# Application title
titlePanel("Image outline, chords, and landmarks"),
@benmarwick
benmarwick / gist:8cf22ecb74ac511f8ac1c70aef6038a7
Last active Mar 22, 2019
How to make diamond plots after Bergstrom and West (2018) "Why scatter plots suggest causality, and what we can do about it"
View gist:8cf22ecb74ac511f8ac1c70aef6038a7
# https://arxiv.org/pdf/1809.09328.pdf & https://twitter.com/CT_Bergstrom/status/1035327464644333568
# they use Mathematica, boo! So let's make them with R
# starting with https://stackoverflow.com/q/33396168/1036500
library(ggplot2)
p <- ggplot() +
geom_point(data = anscombe,
@benmarwick
benmarwick / tidy-multiple-summaries.R
Last active Jul 1, 2019
Tidily summarizing multiple metric attributes of artefacts
View tidy-multiple-summaries.R
# Summarising multiple metric attributes of artefacts
p1 <- read_excel("data/riumailuoi.xlsx", sheet = 'phase1')
summary_stats_table <- function(x) {
x %>%
select(Mass,
Length,
Width,
Thickness,
View 000-scrape-wikipedia.R
# list of lists
url <- "https://en.wikipedia.org/wiki/Lists_of_World_Heritage_Sites"
# Table of sites per country can be found at each of these pages
# probably the simplest entry point
# Africa
africa <- "https://en.wikipedia.org/wiki/List_of_World_Heritage_Sites_in_Africa"
# Americas
@benmarwick
benmarwick / point_dist_to_polygon.Rmd
Created Feb 16, 2019
Two methods to get distance from point to enclosing polygon boundary
View point_dist_to_polygon.Rmd
---
title: 'C14 analysis: Coastal vs Inland'
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
Import and clean the data:
@benmarwick
benmarwick / wikipedia-page-edit-proportions.R
Last active Feb 11, 2019
Inspect the edit history of a bunch of wikipedia pages to measure the proportion of the page contributed by each editor
View wikipedia-page-edit-proportions.R
library(tidyverse)
the_pages <- c(
"https://en.wikipedia.org/wiki/Angela_McGowan",
"https://en.wikipedia.org/wiki/Caroline_Bird_(archaeologist)",
"https://en.wikipedia.org/wiki/Jo_McDonald",
"https://en.wikipedia.org/wiki/Laurajane_Smith",
"https://en.wikipedia.org/wiki/Louise_Zarmati",
"https://en.wikipedia.org/wiki/Marcia-Anne_Dobres",
"https://en.wikipedia.org/wiki/Sarah_Colley",
@benmarwick
benmarwick / academicjobs.wikia.com.R
Created Feb 3, 2019
Scraping academic jobs on wikia.com
View academicjobs.wikia.com.R
library(tidyverse)
base_url <- "http://academicjobs.wikia.com/wiki/Archaeology_Jobs_"
# starts at 2010-2011
years <- map_chr(2010:2019, ~str_glue('{.x}-{.x +1}'))
urls_for_each_year <- str_glue('{base_url}{years}')
You can’t perform that action at this time.