LAB 3 — TUTORIAL

Spatial Data Integration & Environmental Justice

Download the tutorial file, knit it to see the complete analysis, then run it chunk by chunk to understand each step.

What You Will Build

In this lab you will integrate external point data (environmental facility locations) with your block-group-level hardship index using spatial joins and buffer analysis. You will test whether hardship scores change across geographic scales (ICC), overlay environmental hazard sites onto the hardship map, and build an enriched index that combines census-based hardship with proximity to environmental facilities.

The tutorial walks through every step with fully working code. Knit it first to see the finished product, then go back and run chunk by chunk to understand how it works.

Learning Objectives
  • Measure aggregation sensitivity using the Intraclass Correlation Coefficient (ICC)
  • Load and geocode external point data, converting to sf spatial objects
  • Perform a point-in-polygon spatial join with st_join()
  • Create buffer zones around point features with st_buffer()
  • Build an enriched hardship index that integrates census and environmental data
  • Compare original and enriched indices with side-by-side maps

Before You Begin

1 — File and Folder Setup

Create this folder structure before downloading anything. Move the downloaded .qmd into PAF516/Lab3/ before opening it in RStudio.

PAF516/
  Lab1/  Lab2/  ...
  Lab3/
    Lab3_Tutorial.qmd            ← downloaded tutorial (do not edit)
    Lab3_Tutorial.html           ← auto-generated when you knit
    Lab3_Assignment_Howell.qmd   ← your renamed assignment copy
    Lab3_Assignment_Howell.html  ← submit this to Canvas
  Lab4/  Lab5/  ...

2 — Install Packages (Run Once)

Do this before knitting
  1. Open Lab3_Tutorial.qmd in RStudio
  2. Click inside the packages chunk (labeled #| label: packages)
  3. Press Cmd+Return (Mac) or Ctrl+Enter (PC) to run just that chunk
  4. Wait — first run downloads and installs packages and may take 5–10 minutes
  5. After it finishes, future knits will be fast — the renv block only runs once automatically
What is renv?
renv records the exact version of every package used so that code that works today still works next semester.

3 — Census API Key

The lab pulls live data from the Census Bureau. If you don't have a key yet:

  1. Register free at api.census.gov/data/key_signup.html
  2. Check email for your key (arrives within a few minutes)
  3. In the RStudio console run: census_api_key("YOUR_KEY_HERE", install = TRUE)
  4. Restart R: Session → Restart R

Running the Tutorial

Option A — Knit First (Recommended)

Click the Render button (blue arrow, top of editor) or press Cmd+Shift+K / Ctrl+Shift+K. This produces Lab3_Tutorial.html with all results — ICC tests, spatial joins, buffer maps, and enriched index comparisons. Review the output to see what the completed analysis looks like.

Option B — Run Chunk by Chunk (Best for Learning)

Place your cursor inside any code chunk and press the run shortcut. Output appears inline. Fix any errors before moving on. This is how you understand what each step does.

ActionMacPC
Run current chunkCmd+ReturnCtrl+Enter
Run all chunks aboveCmd+Option+PCtrl+Alt+P
Knit / RenderCmd+Shift+KCtrl+Shift+K

What's Inside

StepWhat It Does
Step 1Pull Maricopa County block group data and build the 5-variable hardship index
Step 2Build the hardship index with z-score standardization
Step 3Test aggregation sensitivity with the Intraclass Correlation Coefficient (ICC)
Step 4Load external point data (environmental facility locations)
Step 5Convert point data to sf and align coordinate reference systems
Step 6Point-in-polygon spatial join with st_join()
Step 7Buffer analysis — create 1-mile proximity zones around facilities
Step 8Build an enriched hardship index integrating environmental proximity
Step 9Comparative maps: original vs. enriched hardship index

Download

Lab 3 Tutorial File

Download Lab3_Tutorial.qmd

Right-click → Save Link As. Save directly to your PAF516/Lab3/ folder. Do not open in the browser.