Skip to content

Instantly share code, notes, and snippets.

Avatar

David Holstius dholstius

  • Bay Area Air Quality Management District
  • San Francisco Bay Area
  • Twitter @dholstius
View GitHub Profile
@dholstius
dholstius / RasterLayer-list.R
Last active Sep 29, 2020
lists of RasterLayers behaving weirdly
View RasterLayer-list.R
#
# If I wrap a single RasterLayer in a list, I can extract it
# with .[[1]] but not with unlist().
#
# This example just uses a single `RasterLayer` to make the point.
# The broader problem (for me) is that it seems to be precluding the
# possibility of using `purrr::map2()` to combine lists of RasterLayers
# in various ways.
#
@dholstius
dholstius / example-calculations.R
Last active May 19, 2020
PM25-HIA-methodology
View example-calculations.R
library(units)
install_symbolic_unit("person")
install_conversion_constant("person", "death", const = -1)
options(digits = 8)
# For convenience, let's assume a population of 1 million people.
pop <- as_units(1e6, "person")
# Let's assume that the baseline annual all-cause mortality rate is
# about 1%, i.e., about 10,000 per million (per year).
@dholstius
dholstius / BY2015-animal_waste-emission_factors-vs_BY2011.R
Last active Nov 21, 2019
BY2015: Animal Waste Emission Factors
View BY2015-animal_waste-emission_factors-vs_BY2011.R
#
# BY2011 -> BY2015: emission factors for "animal waste" categories.
#
# Created by dholstius on 2019-11-21 for aguha.
#
# For the link between the two sets of categories, see (in Dropbox):
#
# - BY2015/Work/Crosswalks/Categories/BY2015_categories_geneaology.xlsx
#
# For more about the operations taking place in the code below, see (in R):
@dholstius
dholstius / QA-BY2015-area_source-forecast.R
Created Nov 18, 2019
QA of BY2015 area source forecast
View QA-BY2015-area_source-forecast.R
#
# BY2015-area_source-forecast-chart_annual_growth.R
#
# Created 2019-11-18 by dholstius
#
library(inventory)
library(ggtools)
#
@dholstius
dholstius / BY2011-summarytree.R
Last active Oct 24, 2019
Summary Tree Tool, demonstrated using the default BY2011 category hierarchy (and BY2011 emissions).
View BY2011-summarytree.R
#'
#' Summary Tree Tool
#'
#' Discover which categories --- or groups of categories --- emit the largest
#' share(s) of a particular pollutant.
#'
#' Version history:
#'
#' - Created 2015-12-01 by dholstius
#' - Last updated 2019-10-23 by dholstius
View show138.R
library(inventory)
show138 <- function (
DB_year,
category_id,
verbose = TRUE
) {
#' Define the preferred sorting order.
PONSCO_vars <-
@dholstius
dholstius / example-DB_find_pollutants.R
Last active Oct 19, 2019
DataBank: Find Pollutant Metadata for "Diesel PM"
View example-DB_find_pollutants.R
#
# Turns out that #1350 is the DataBank ID for "Diesel PM".
#
# Here's an "old-school" way to figure that out.
# t0064 contains pollutant metadata.
#
library(Ingres)
help(t0064) # here's some Orange Binder material
view(t0064) # type "Diesel" in the search box (upper right)
@dholstius
dholstius / BAAQMD-CCl4_emissions-PY_1997_2016.R
Last active Nov 10, 2017
Carbon Tetrachloride (CCl4) Emissions, 1997-2016
View BAAQMD-CCl4_emissions-PY_1997_2016.R
PY_CCl4_emission_data <-
PY(1997:2016) %>%
point_source_abated_emissions() %>%
filter_pollutants(list(CCl4 = 60))
chart_data <-
PY_CCl4_emission_data %>%
mutate(fac_h1 = if_else(fac_id == 31, "Dow Chemical", "All Others")) %>%
annual_emissions_by(fac_h1) %>%
group_by(fac_h1)
@dholstius
dholstius / UScensus2010-blk_data-reprex.R
Created Aug 25, 2017
Reprex for UScensus2010 block level demographics
View UScensus2010-blk_data-reprex.R
library(UScensus2010)
library(UScensus2010tract)
library(UScensus2010blkgrp)
library(UScensus2010blk)
Cook_tracts <- UScensus2010::county(state = "Illinois", name = "Cook", level = "tract")
Cook_tracts@data[1:8, 1:8]
plot(Cook_tracts)
Cook_blkgrps <- UScensus2010::county(state = "Illinois", name = "Cook", level = "blkgrp")
@dholstius
dholstius / rpivotTable-mySum.R
Created Sep 25, 2016
Try to replicate Sum aggregator
View rpivotTable-mySum.R
library(dplyr)
library(htmlwidgets)
library(rpivotTable)
mtcars %>%
rpivotTable(rows = "gear",
cols = c("cyl", "carb"),
vals = "hp",
# Step 1. Make this line accomplish the same thing as the default