# HOLC “Redlining” Maps and the Modifiable Area Unit Problem

I’ve been working with PhD Student Shanise Owens to analyze structural racism –historical African American housing descrimination and its association with chronic disease risk in subsequent generations. As part of this work, we are analyzing the Home Owners’ Loan Corporation (HOLC) maps curated and provided by the Mapping Inequality group.

Because the historical maps do not align with more recent census geography boundaries, we run into the Modifiable Area Unit Problem, in which decisions must be made as to how families in the longitudinal cohort that located by census block ID are assigned to HOLC grades. Some potential choices we’ve considered:

• Majority Area – Assign the grade for intersecting HOLC area that overlaps the most with the census block. If there’s a “tie” — equal areas of overlap between different grades, use one of the following methods to tie-break.
• Assign the lesser grade (A grade “less than” D grade) – conceptually considers those living at the border between multiple HOLC grades to potentially experience more advantage than those living in the greater intersecting HOLC grade.
• Assign the greater grade (D grade “greater than” A grade) — conceptually considers those living at the border between HOLC grades to potentially experience more disadvantage than those lving in the lower intersecting HOLC grade.
• Some other method, e.g., considering those with multiple intersecting HOLC grade areas to be in their own kind of multi-HOLC area.

There are nuances in the spatial analysis code. For example, when considering area overlap by grade, it’s possible (and it occurs often) that a census block intersects multiple D areas, and so it’s useful to “dissolve” the original HOLC areas into combined D-graded, C-graded, etc. polygons before doing the area calculations. These issues are exacerbated when looking at larger census geographies, such as census block groups and tracts.

Consider the following 2 chunks of R code:

area_majority1 <-
joined_block_step3[
group_by(BLOCKID10) %>%
slice(which.max(area_prop))

area_majority2 <-
joined_block_step3[