Affording three-bedroom rent in Rutherford County

Three-bedroom rents in Rutherford County vary by hundreds of dollars per month, depending on the zip code, according to federal fair market rent estimates

The interactive map below shows estimated Fair Market Rent (FMR) for three-bedroom units shaded by ZIP code. Darker pink areas indicate higher rents, while lighter areas represent lower rents. The pattern shows that rental costs are not evenly distributed across the county. For renters sharing housing — including college students splitting costs — even a few hundred dollars in monthly difference can translate into several thousand dollars over the course of a year.

Rutherford County three-bedroom rents

Estimated Three-Bedroom Fair Market Rents by ZIP Code


Code:

library(tidyverse)
library(sf)
library(leaflet)
library(RColorBrewer)
library(classInt)
library(scales)

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

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

unzip("ZCTAs2020.zip")

ZCTAMap <- read_sf("cb_2020_us_zcta520_500k.shp")

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

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

FMR_RuCo_Map <- st_transform(FMR_RuCo_Map, 4326)

ShadeBy <- "BR3"
legend_classes <- 7

vals <- FMR_RuCo_Map[[ShadeBy]]
vals <- vals[!is.na(vals)]

ci <- classIntervals(vals, n = legend_classes, style = "jenks")
breaks <- unique(ci$brks)

pal <- colorBin(
  palette = "RdPu",
  domain = FMR_RuCo_Map[[ShadeBy]],
  bins = breaks,
  na.color = "#cccccc"
)

leaflet(FMR_RuCo_Map) %>%
  addProviderTiles(providers$CartoDB.Positron) %>%
  addPolygons(
    fillColor = ~pal(BR3),
    color = "#444444",
    weight = 1,
    fillOpacity = 0.7,
    label = ~paste("ZIP:", ZIP,
                   "<br>3-Bed Rent:", comma(BR3)),
    highlightOptions = highlightOptions(
      weight = 2,
      color = "#000000",
      fillOpacity = 0.8,
      bringToFront = TRUE
    )
  ) %>%
  addLegend(
    position = "bottomright",
    pal = pal,
    values = ~BR3,
    title = "3-Bedroom Rent",
    labFormat = labelFormat(big.mark = ",")
  )