Skip to content

Instantly share code, notes, and snippets.

@milesgrimshaw
milesgrimshaw / gist:4748004
Last active December 12, 2015 08:59
Who Are My Peers? The code I wrote to both learn R and analyze some descriptive qualities of the current Yale undergraduate student body( Classes '13, '14, '15, '16).
#Pull in the html
x <- scan("~/Dropbox/Documents/Senior Year/Spring/STAT230/YaleFacebook3.html",
what="", sep="\n")
#All the student data is within the div class='display_data'
data <- grep('display_data', x, fixed=TRUE)
#The student data is all on the next line of html. The studens variable now contains the
#line number of the html with all the data
students <- x[data+1]
#each student's info is contained within the div with class='student_text_container'
@milesgrimshaw
milesgrimshaw / Quirky.rb
Created June 11, 2014 00:27
Ruby script to collect data from Quirky product pages
# Last Updated: 2014.06.05
# Gems to include
require 'Nokogiri'
require "open-uri"
require 'pp'
require 'json'
require 'csv'
# def get_default_data( default_stats, default_pricing, date_range )
@milesgrimshaw
milesgrimshaw / yelp.rb
Last active September 17, 2015 06:47
How many gyms/yoga/pilates in Boston/New York/LA? Ruby script to output a spreadsheet of the number of a given category in a given city according to Yelp.
require 'oauth'
require 'json'
require 'pp'
require 'csv'
consumer_key = 'NUM'
consumer_secret = 'NUM'
token = 'NUM'
token_secret = 'NUM'
@milesgrimshaw
milesgrimshaw / mindbody.rb
Created March 16, 2015 23:06
Script to scrape the clients feed behind the map on MindBody's website
require 'nokogiri'
require 'pp'
require 'mechanize'
require 'open-uri'
require 'csv'
page = Nokogiri::XML(open('https://www.mindbodyonline.com/clients/feed/all.xml'))
items = page.css('marker')
CSV.open("mind_new.csv", "wb") do |csv|
@milesgrimshaw
milesgrimshaw / citymedia.rb
Created March 16, 2015 23:07
Script to collect data from CityGridMedia's Places API
require 'rubygems'
require 'nokogiri'
require 'pp'
require 'mechanize'
require 'open-uri'
require 'csv'
key = "## YOUR KEY HERE"
@milesgrimshaw
milesgrimshaw / mindbody.R
Created March 17, 2015 14:42
Script to parse MindBody data
# Load libraries
library(ggplot2)
# Set working directory
setwd("~/Dropbox (Personal)/Personal/Github/MindBody/New/")
# Read in the data
data <- read.csv('mind_new.csv', header=TRUE, as.is=TRUE)
# Convert everything to lower case
@milesgrimshaw
milesgrimshaw / yelp.rb
Created March 16, 2015 23:10
Script to collect search count data for various terms in Yelp across top 60 US cities
require 'oauth'
require 'json'
require 'pp'
require 'csv'
consumer_key = '#YOURS'
consumer_secret = '#YOURS'
token = '#YOURS'
token_secret = '#YOURS'
@milesgrimshaw
milesgrimshaw / Style.css
Created June 20, 2015 21:52
Custom style for map of personal data exhaust
#ubergeojson, #original {
line-color: @road;
line-width: 0.5;
[zoom>=11] { line-width: 0.5; }
[zoom>=12] { line-width: 0.7; }
[zoom>=13] { line-width: 1; }
[zoom>=14] { line-width: 1.2; }
[zoom>=15] { line-width: 1.4; }
[zoom>=16] { line-width: 1.6; }
}
@milesgrimshaw
milesgrimshaw / geocode_appscript
Created September 23, 2014 18:52
Geocode Restaurant Data in Google Sheet Appscript
function geocode_all() {
// grab basic sheet data
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
var values = rows.getValues();
// init some locals for looping over each row
var row;
@milesgrimshaw
milesgrimshaw / Citibike.R
Created August 6, 2014 11:49
R script to analyze personal Citibike data
library(ggplot2)
library(lubridate)
## Set the working directory
setwd("~/Dropbox (Personal)/Personal/Github/Citibike")
## Organize restaurant data
r <- read.csv('trips.csv', header=TRUE, as.is=TRUE)
head(r)