In some Rutherford County ZIP codes, a four-bedroom rental home is considerably more expensive than a single-room studio. In others, though, a four-bedroom and a single-room studio rental home are much closer in price.
This table shows you each ZIP code’s difference between four-bedroom and studio rental homes, sorted in descending order
| 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 |
# ----------------------------------------------------------
# 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
# ----------------------------------------------------------
# ----------------------------------------------------------
# Adding each ZIP code's average
# ----------------------------------------------------------
# ----------------------------------------------------------
# Dividing the 4BR rent by 4
# ----------------------------------------------------------
FMR_RuCo <- FMR_RuCo %>%
mutate(Spread = round(BR4 - Studio,0))
# ----------------------------------------------------------
# Sorting by ZIP_Average, in descending order
# ----------------------------------------------------------
# Add your sort code here
FMR_RuCo <- FMR_RuCo %>%
arrange(desc(Spread))
# ----------------------------------------------------------
# Displaying the table, with the new columns
# ----------------------------------------------------------
# ----------------------------------------------------------
# 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