Rutherford County Rents and Spreads (Lab 3)

The table below shows fair market rent values for Rutherford County ZIP codes according to the U.S. Department of Housing and Urban Development. Rents are shown from Studio size to a four-bedroom apartment to allow for comparison between the five unit sizes in each code. Another column shows the rent spread showing the differences between a studio apartment and a four-bedroom apartment. ZIP codes are displayed in descending order based on the spread.

The table shows where the cost difference in small and large sized units is more pronounced by ranking them based on the spread. It shows how vast price hikes can be depending where a renter may plan to live in the county.

Rutherford Rent Analysis
ZIP Studio BR1 BR2 BR3 BR4 Spread
37037 1900 1990 2180 2790 3400 1500
37086 1730 1820 1990 2540 3100 1370
37153 1670 1750 1920 2450 2990 1320
37128 1570 1640 1800 2300 2800 1230
37129 1570 1640 1800 2300 2800 1230
37167 1430 1500 1640 2100 2560 1130
37127 1360 1420 1560 1990 2430 1070
37085 1320 1380 1520 1940 2360 1040
37130 1280 1340 1470 1880 2290 1010
37132 1280 1340 1470 1880 2290 1010
37118 1150 1170 1320 1660 2020 870
37149 1150 1180 1320 1660 2020 870

Code:

# ----------------------------------------------------------
# Install & load required packages
# ----------------------------------------------------------

if (!require("tidyverse"))
  install.packages("tidyverse")
if (!require("gt"))
  install.packages("gt")

library(tidyverse)
library(readxl)
library(gt)

# ----------------------------------------------------------
# Download HUD SAFMR Excel file
# ----------------------------------------------------------

download.file(
  "https://www.huduser.gov/portal/datasets/fmr/fmr2026/fy2026_safmrs.xlsx",
  "rent.xlsx",
  mode = "wb"
)

# ----------------------------------------------------------
# Read Excel data
# ----------------------------------------------------------

FMR <- read_xlsx(path = "rent.xlsx", .name_repair = "universal")

# ----------------------------------------------------------
# Rutherford County ZIP Codes
# ----------------------------------------------------------

ZIPList <- c(
  "37127", "37128", "37129", "37130", "37132",
  "37085", "37118", "37149", "37037", "37153",
  "37167", "37086"
)

# ----------------------------------------------------------
# Filter, select columns, and rename
# ----------------------------------------------------------

FMR_RuCo <- FMR %>%
  filter(ZIP.Code %in% ZIPList) %>%
  select(
    ZIP.Code,
    SAFMR.0BR,
    SAFMR.1BR,
    SAFMR.2BR,
    SAFMR.3BR,
    SAFMR.4BR
  ) %>%
  distinct()

colnames(FMR_RuCo) <- c("ZIP", "Studio", "BR1", "BR2", "BR3", "BR4")

# ----------------------------------------------------------
# Add your code to this section
# ----------------------------------------------------------

FMR_RuCo <- FMR_RuCo %>%
  mutate(Spread = (BR4-Studio)) %>%
         arrange(desc(Spread))



# ----------------------------------------------------------
# Displaying the table, with the new columns
# ----------------------------------------------------------

FMR_RuCo_table <- gt(FMR_RuCo) %>%
  tab_header(title = "Rutherford Rent Analysis") %>%
  cols_align(align = "left")

FMR_RuCo_table