Three-bedroom rent by ZIP code in Rutherford county, TN.

This map shows the calculated three-bedroom rent by zip code, based off of the 2024 small-area fair market rent data from the U.S. Department of Housing and Urban Development.

Code:

# Getting and loading required packages

if (!require("tidyverse"))
  install.packages("tidyverse")
if (!require("gtExtras"))
  install.packages("gtExtras")
if (!require("leafpop"))
  install.packages("leafpop")
if (!require("sf"))
  install.packages("sf")
if (!require("mapview"))
  install.packages("mapview")
if (!require("RColorBrewer"))
  install.packages("RColorBrewer")

library(tidyverse)
library(gtExtras)
library(sf)
library(mapview)
library(leafpop)
library(RColorBrewer)

# Reloading the rent data

FMR_RuCo <- read_csv("https://raw.githubusercontent.com/drkblake/Data/refs/heads/main/FMR_RuCo.csv")

# Showing the rent data

FMR_RuCo_table <- gt(FMR_RuCo) %>%
  tab_header("Rutherford FMR, by size and ZIP") %>%
  cols_align(align = "left") %>%
  gt_theme_538
FMR_RuCo_table

# Downloading the ZIP code map file

download.file(
  "https://www2.census.gov/geo/tiger/GENZ2020/shp/cb_2020_us_zcta520_500k.zip",
  "ZCTAs2020.zip"
)

# Unzipping the ZIP code map file

unzip("ZCTAs2020.zip")

# Loading the ZIP code file into R as "ZCTAMap"

ZCTAMap <- read_sf("cb_2020_us_zcta520_500k.shp")

# Making ZIP a character variable

FMR_RuCo$ZIP <- as.character(FMR_RuCo$ZIP)

# Joining the files

FMR_RuCo_Map <- left_join(FMR_RuCo, ZCTAMap, by = c("ZIP" = "ZCTA5CE20"))

# Dropping unneeded columns

FMR_RuCo_Map <- FMR_RuCo_Map %>%
  select(-c(AFFGEOID20, GEOID20, NAME20, LSAD20, ALAND20, AWATER20))

# Converting FMR_RuCo_Map

FMR_RuCo_Map <- st_as_sf(FMR_RuCo_Map)

# Making the map

Rent_Category_Map <- mapview(
  FMR_RuCo_Map,
  zcol = "Rent_Category",
  layer.name = "Rent category",
  popup = popupTable(
    FMR_RuCo_Map,
    feature.id = FALSE,
    row.numbers = FALSE,
    zcol = c("ZIP", "Studio", "BR1", "BR2", "BR3", "BR4")
  )
)


# Making the map to display BR3 rent with green color scheme

BR3_Rent_Map <- mapview(
  FMR_RuCo_Map,
  zcol = "BR3",  # Display BR3 rent
  layer.name = "Three Bedroom Rent",
  col.regions = brewer.pal(9, "BuGn"),
  popup = popupTable(
    FMR_RuCo_Map,
    feature.id = FALSE,
    row.numbers = FALSE,
    zcol = c("ZIP", "BR3")  # Only show ZIP and BR3 rent in the popup
  )
)

# Showing the map with BR3 Rent and green color scheme
BR3_Rent_Map