Skip to content

Instantly share code, notes, and snippets.

View mbannert's full-sized avatar

Matt Bannert mbannert

View GitHub Profile
@mbannert
mbannert / read geo file
Created April 21, 2016 08:29
PostgreSQL Postgis R GeoJSON example
# Postgis data type in my case is WSG84: geom | geometry(Point,4326)
library(jsonlite)
library(RPostgreSQL)
source("dbConnect.R") # create some connection object called con
p <- dbGetQuery(con,
"SELECT id,
postal_code,
st_asGeoJSON(geom)
FROM sometable
@mbannert
mbannert / aws-install.sh
Created April 27, 2016 13:53
Shiny Server AWS EC2 install script
#!/usr/bin/env bash
# extend resources list and install R
sudo bash -c "echo 'deb http://stat.ethz.ch/CRAN/bin/linux/ubuntu trusty/' >> /etc/apt/sources.list"
sudo apt-get update
sudo apt-get install r-base
# install postgresql
sudo apt-get install postgresql
@mbannert
mbannert / benchmark.R
Last active December 15, 2016 09:41
jsonlite vs rjsonion - can we make jsonlite faster?
library(microbenchmark)
# json test is a character vector of length 2 containing
# both of the json elements given in sample_data.json
microbenchmark(
lite <- lapply(json_test,function(x){
jsonlite::fromJSON(x,simplifyVector = F)
}),
SONIO <- lapply(json_test,function(x){
\documentclass{article}
\begin{document}
<<regression,results='asis'>>=
library(texreg)
data(mtcars)
fit1 <- lm(mpg~wt+disp,data=mtcars)
texreg(fit1)
library(openxlsx)
library(rvest)
journals <- read_html("https://www.aeaweb.org/econlit/journal_list.php")
j <- journals %>%
html_nodes(".journal") %>%
html_text()
dflist <- lapply(j,function(x){
# # convenience package...
# central vs. decentralized production discussion
# not part of this.
# minimal introduction to R
# different editors and an interpreter
# How-to-R Studio
# # 4 Panes
# # the ctrl+1 ctrl+2 shortcut
# # don't store
computeScores <- function(dframe,
maplist,
fct = sum,
na.rm = T){
li <- lapply(maplist,function(x){
out <- dframe[,grep(x,names(dframe),value=T)]
apply(out,1,fct, na.rm = na.rm)
})
library(MASS)
set.seed(123)
m <- mvrnorm(10000, mu = c(20,2.6),
Sigma = matrix(c(8,0.85,0.85,.57),
ncol = 2),
empirical = TRUE)
disp <- m[,1]
wt <- m[,2]
am <- rbinom(10000,1,.4)
dpl_gr <- function(ds,vars){
ds %>%
group_by_(.dots = vars) %>%
summarise(n = n()) %>%
mutate(freq = n / sum(n))
}
dpl_gr(mtcars,c("am","cyl"))