LAB 4 — TUTORIAL

Spatial Autocorrelation & Hot Spot Analysis

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 test whether economic hardship clusters spatially using Global Moran’s I, then identify specific hot spot and cold spot neighborhoods using Local Indicators of Spatial Association (LISA). You will build spatial weights matrices, interpret Moran scatter plots, classify block groups into cluster types (HH, LL, HL, LH), and produce LISA cluster maps.

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
  • Build queen contiguity spatial weights using poly2nb() and nb2listw()
  • Test for global spatial autocorrelation with moran.test()
  • Interpret a Moran scatter plot and understand the four quadrants
  • Run Local Moran’s I (LISA) with localmoran() to detect significant clusters
  • Classify block groups into hot spots (HH), cold spots (LL), and spatial outliers (HL, LH)
  • Create LISA cluster maps and side-by-side comparison figures

Before You Begin

1 — File and Folder Setup

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

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

2 — Install Packages (Run Once)

Do this before knitting
  1. Open Lab4_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 Lab4_Tutorial.html with all results — choropleth maps, Moran’s I output, scatter plots, and LISA cluster maps. 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 from the Census API
Step 2Build the 5-variable Economic Hardship Index with z-score standardization
Step 3Build spatial weights using queen contiguity (poly2nb + nb2listw)
Step 4Test for global spatial autocorrelation with moran.test()
Step 5Visualize spatial dependence with a Moran scatter plot
Step 6Run Local Moran’s I (LISA) and classify clusters (HH, LL, HL, LH)
Step 7Create LISA cluster maps and side-by-side hardship comparison

Download

Lab 4 Tutorial File

Download Lab4_Tutorial.qmd

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