Skip to content

Instantly share code, notes, and snippets.

View sboysel's full-sized avatar

Sam Boysel sboysel

View GitHub Profile
@sboysel
sboysel / root.py
Created May 21, 2024 16:44
package root variable
"""
simple way to get the directory path of the current file.
Extension: simply add additonal `.parent`s if __file__ is in a subdirectory of ROOT
"""
import pathlib
ROOT = pathlib.Path(__file__).parent
@sboysel
sboysel / timer.py
Created May 21, 2024 16:41
simple timer function decorator
import time
def timer(f):
"""
timer function decorator. Prints time elapsed (in seconds) of the function's
runttime.
Usage:
@timer
[
{
"name": "Risha38",
"author": "Sam Boysel"
},
[
{
"x": 2,
"f": 5
},
@sboysel
sboysel / keybase.md
Created December 2, 2019 06:39
keybase.io proof of GitHub identity

Keybase proof

I hereby claim:

  • I am sboysel on github.
  • I am sboysel (https://keybase.io/sboysel) on keybase.
  • I have a public key whose fingerprint is F0BB B0B8 886D 1CDB 392D E755 2E8D EF7C 3554 032D

To claim this, I am signing this object:

@sboysel
sboysel / ght-restore-psql
Created February 13, 2019 03:18 — forked from etcwilde/ght-restore-psql
Restore the GHTorrent database to postgres instead of mysql (based on mysql-2017-01-19 image)
#!/usr/bin/env bash
# Evan Wilde <[email protected]>
# July 20, 2017
# defaults
user="postgres"
passwd=""
host="localhost"
db="ghtorrent"
tmpdir='/tmp'
@sboysel
sboysel / query.sql
Created February 1, 2019 20:15
Most popular Stack Overflow tags (Stack Exchange Data Explorer query)
select
num.TagName as Tag,
row_number() over (order by num.Num desc) as TotalRank,
rate.Rate as QuestionsInMay,
num.Num as QuestionsTotal
from
(select count(PostId) as Rate, TagName
from
@sboysel
sboysel / .block
Last active June 1, 2021 01:49
Interactive Choropleth
license: gpl-3.0
height: 650
@sboysel
sboysel / r_econometrics.md
Created June 29, 2016 15:37
Notes on econometrics in R

Notes on Econometrics in R

This note summarizes several tools for traditional econometric analysis using R. The CRAN Task View - Econometrics provides a very comprehensive overview of available econometrics packages in R. Rather the duplicate this resource, I will highlight several functions and tools that accommodate 95% of my econometric analyses.

Packages and functions

Linear Regression

  • stats::lm - the standard OLS routine included in the base R package stats. The call summary(lm(y ~ x1 + x2, data = mydata)) produces output most similar to reg y x1 x2 in Stata.
  • lfe - Linear Fixed Effects models. In addition to efficiently handling high-dimension fixed effects, the workhorse function felm also supports instrumental variables and clustered standard errors. As it improves lm by incorp
@sboysel
sboysel / ggplot2_map.R
Created June 17, 2016 16:01
Notes on mapping sp objects with ggplot2
library(ggplot2)
library(maptools)
library(mapproj)
library(ggthemes)
library(sp)
library(raster)
library(rgeos)
library(RColorBrewer)
# Get administrative boundaries as SpatialPolygonsDataFrame
@sboysel
sboysel / spatialutils.R
Created June 7, 2016 01:38
Convenience functions for loading spatial data.
# TODO: (1) What if I want to keep the remote zipfile after downloading? [x]
# (2) Other common formats: - GeoJSON [x]
# - KML [ ]
library(rgdal)
# Functions to check filenames
is_remote <- function(x) grepl("(ht|f)tp(s)?://", x)
is_zip <- function(x) grepl("\\.zip$", basename(x))
is_shp <- function(x) grepl("\\.shp$", basename(x))
is_json <- function(x) grepl("\\.(geo)?json$", basename(x))