Rent Prices in Rutherford County

This map shows the rent data for the 12 major zip codes across Rutherford County. Click or tap on the map to see a breakdown of each ZIP by unit size, along with estimates of total households/rentals. Rent estimates are taken from the U.S. Department of Housing and Urban Development. Household estimates are taken from the American Community Survey.

Code:

# Installing 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")
if (!require("tidycensus"))
  install.packages("tidycensus")

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

census_api_key("6c872809ce8dfc4e6a9ce79e73ac3f20d4b707a0")

Census_Data <- get_acs(
  geography = "zcta",
  variables = c("DP04_0047", "DP04_0045"),
  year = 2023,
  survey = "acs5",
  output = "wide",
  geometry = FALSE
)

glimpse(Census_Data)

Census_Data <- Census_Data %>% 
  rename(c("Rentals" = "DP04_0047E",
           "Rentals_MOE" = "DP04_0047M",
           "Households" = "DP04_0045E",
           "Households_MOE" = "DP04_0045M"))

glimpse(Census_Data)

# Redownloading the rent data

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

# Redownloading, unzipping and importing the ZIP code map file

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

unzip("ZCTAs2020.zip")

ZCTAMap <- read_sf("cb_2020_us_zcta520_500k.shp")

# Merging the rent data and ZIP code map

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

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

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

FMR_RuCo_Map <- st_as_sf(FMR_RuCo_Map)

# Mapping by average rent with "Blues" color scheme

ZIP_Map <- mapview(
  FMR_RuCo_Map,
  zcol = "BR3",
  col.regions = brewer.pal(9, "Blues"),
  layer.name = "Average rent",
  popup = popupTable(
    FMR_RuCo_Map,
    feature.id = FALSE,
    row.numbers = FALSE,
    zcol = c("ZIP", "Studio", "BR1", "BR2", "BR3", "BR4")
  )
)

# Showing the map

ZIP_Map

# Merging FMR_RuCo_Map and Census_Data

FMR_RuCo_Map <- left_join(FMR_RuCo_Map, Census_Data, by = c("ZIP" = "GEOID"))

# Mapping by ZIP code

ZIP_Map <- mapview(
  FMR_RuCo_Map,
  zcol = "BR3",
  col.regions = brewer.pal(9, "Blues"),
  layer.name = "Average rent",
  popup = popupTable(
    FMR_RuCo_Map,
    feature.id = FALSE,
    row.numbers = FALSE,
    zcol = c("ZIP", "Studio", "BR1", "BR2", "BR3", "BR4",
             "Rentals", "Rentals_MOE", "Households", "Households_MOE")
  )
)

# Showing the map