Skip to content

Instantly share code, notes, and snippets.

@dawaldron
Last active February 25, 2018 06:26
Show Gist options
  • Save dawaldron/fd44174d9a65ccd1e3245efa1cd1bbeb to your computer and use it in GitHub Desktop.
Save dawaldron/fd44174d9a65ccd1e3245efa1cd1bbeb to your computer and use it in GitHub Desktop.
library(data.table)
ma <- function(x,n=5){filter(x,rep(1/n,n), sides=2)}
potholes <- fread('Mayors_Action_Center_Service_Cases.csv')
potholes <- potholes[KEYWORD__C == "Chuckhole" & SUBCATEGORY__C == 'Street (Chuckhole)',
.(CASENUMBER,
STATUS,
CREATEDDATE = as.Date(CREATEDDATE, format = "%Y-%m-%dT%H:%M:%S.000Z"),
CLOSEDDATE = as.Date(CLOSEDDATE, format = "%Y-%m-%dT%H:%M:%S.000Z"))]
daylist <- seq(min(potholes[!is.na(CREATEDDATE), CREATEDDATE]),
max(potholes[!is.na(CREATEDDATE), CREATEDDATE]), 'days')
dayRow <- function(day.i, data) {
data[CREATEDDATE <= day.i & (is.na(CLOSEDDATE) | CLOSEDDATE >= day.i),
.(date = day.i, potholes = length(CASENUMBER))]
}
potholes <- rbindlist(lapply(daylist, dayRow, data = potholes))
weather <- fread('1227703.csv')
weather <- weather[STATION == 'USW00093819',
.(date = as.Date(DATE),
TMIN = ma(TMIN, 14),
TAVG = ma(TAVG, 14),
TMAX = ma(TMAX, 14))]
potholes <- weather[potholes, on = 'date']
write.csv(potholes, 'pothole.csv', row.names = F)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment