The table below shows the 2026 Small Area Fair Market Rents (SAFMR) for selected ZIP codes in Rutherford County. Rental prices are listed for studio through four-bedroom units. The Spread column represents the difference between four-bedroom rent and studio rent, illustrating how rental costs increase as unit size increases across the county.
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.6
## ✔ forcats 1.0.1 ✔ stringr 1.6.0
## ✔ ggplot2 4.0.1 ✔ tibble 3.3.1
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.2
## ✔ purrr 1.2.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(readxl)
library(gt)
download.file(
"https://www.huduser.gov/portal/datasets/fmr/fmr2026/fy2026_safmrs.xlsx",
"rent.xlsx",
mode = "wb"
)
FMR <- read_xlsx("rent.xlsx", .name_repair = "universal")
## New names:
## • `ZIP Code` -> `ZIP.Code`
## • `HUD Area Code` -> `HUD.Area.Code`
## • `HUD Fair Market Rent Area Name` -> `HUD.Fair.Market.Rent.Area.Name`
## • `SAFMR 0BR` -> `SAFMR.0BR`
## • `SAFMR 0BR - 90% Payment Standard` -> `SAFMR.0BR...90..Payment.Standard`
## • `SAFMR 0BR - 110% Payment Standard` -> `SAFMR.0BR...110..Payment.Standard`
## • `SAFMR 1BR` -> `SAFMR.1BR`
## • `SAFMR 1BR - 90% Payment Standard` -> `SAFMR.1BR...90..Payment.Standard`
## • `SAFMR 1BR - 110% Payment Standard` -> `SAFMR.1BR...110..Payment.Standard`
## • `SAFMR 2BR` -> `SAFMR.2BR`
## • `SAFMR 2BR - 90% Payment Standard` -> `SAFMR.2BR...90..Payment.Standard`
## • `SAFMR 2BR - 110% Payment Standard` -> `SAFMR.2BR...110..Payment.Standard`
## • `SAFMR 3BR` -> `SAFMR.3BR`
## • `SAFMR 3BR - 90% Payment Standard` -> `SAFMR.3BR...90..Payment.Standard`
## • `SAFMR 3BR - 110% Payment Standard` -> `SAFMR.3BR...110..Payment.Standard`
## • `SAFMR 4BR` -> `SAFMR.4BR`
## • `SAFMR 4BR - 90% Payment Standard` -> `SAFMR.4BR...90..Payment.Standard`
## • `SAFMR 4BR - 110% Payment Standard` -> `SAFMR.4BR...110..Payment.Standard`
ZIPList <- c(
"37127", "37128", "37129", "37130", "37132",
"37085", "37118", "37149", "37037", "37153",
"37167", "37086"
)
FMR %>%
filter(ZIP.Code %in% ZIPList) %>%
select(
ZIP.Code,
SAFMR.0BR,
SAFMR.1BR,
SAFMR.2BR,
SAFMR.3BR,
SAFMR.4BR
) %>%
distinct() %>%
rename(
ZIP = ZIP.Code,
Studio = SAFMR.0BR,
BR1 = SAFMR.1BR,
BR2 = SAFMR.2BR,
BR3 = SAFMR.3BR,
BR4 = SAFMR.4BR
) %>%
mutate(Spread = BR4 - Studio) %>%
gt() %>%
tab_header(title = "Rutherford Rent Analysis") %>%
cols_align(align = "left")
| Rutherford Rent Analysis | ||||||
| ZIP | Studio | BR1 | BR2 | BR3 | BR4 | Spread |
|---|---|---|---|---|---|---|
| 37037 | 1900 | 1990 | 2180 | 2790 | 3400 | 1500 |
| 37085 | 1320 | 1380 | 1520 | 1940 | 2360 | 1040 |
| 37086 | 1730 | 1820 | 1990 | 2540 | 3100 | 1370 |
| 37118 | 1150 | 1170 | 1320 | 1660 | 2020 | 870 |
| 37127 | 1360 | 1420 | 1560 | 1990 | 2430 | 1070 |
| 37128 | 1570 | 1640 | 1800 | 2300 | 2800 | 1230 |
| 37129 | 1570 | 1640 | 1800 | 2300 | 2800 | 1230 |
| 37130 | 1280 | 1340 | 1470 | 1880 | 2290 | 1010 |
| 37132 | 1280 | 1340 | 1470 | 1880 | 2290 | 1010 |
| 37149 | 1150 | 1180 | 1320 | 1660 | 2020 | 870 |
| 37153 | 1670 | 1750 | 1920 | 2450 | 2990 | 1320 |
| 37167 | 1430 | 1500 | 1640 | 2100 | 2560 | 1130 |
library(tidyverse)
library(readxl)
library(gt)
download.file(
"https://www.huduser.gov/portal/datasets/fmr/fmr2026/fy2026_safmrs.xlsx",
"rent.xlsx",
mode = "wb"
)
FMR <- read_xlsx("rent.xlsx", .name_repair = "universal")
ZIPList <- c(
"37127", "37128", "37129", "37130", "37132",
"37085", "37118", "37149", "37037", "37153",
"37167", "37086"
)
FMR %>%
filter(ZIP.Code %in% ZIPList) %>%
select(
ZIP.Code,
SAFMR.0BR,
SAFMR.1BR,
SAFMR.2BR,
SAFMR.3BR,
SAFMR.4BR
) %>%
distinct() %>%
rename(
ZIP = ZIP.Code,
Studio = SAFMR.0BR,
BR1 = SAFMR.1BR,
BR2 = SAFMR.2BR,
BR3 = SAFMR.3BR,
BR4 = SAFMR.4BR
) %>%
mutate(Spread = BR4 - Studio) %>%
gt() %>%
tab_header(title = "Rutherford Rent Analysis") %>%
cols_align(align = "left")