Roughly how much does a typical two-bedroom rental home cost per month in the 37130 ZIP code that surrounds MTSU’s campus? One way to get a good indication is to consult the latest Small Area Fair Market Rent estimates put out by the U.S. Department of Housing and Urban Development.

Here are the 2026 estimates for various rental home sizes in each of the major ZIP codes across Rutherford County:

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

What is Fair Market Rent?

Each estimate reflects the 40th percentile of all rents, including utilities, in a ZIP code for a standard-quality home of the indicated size. In practical terms, a renter with a housing budget equal to a ZIP code’s small-area fair market rent for, let’s say, a two-bedroom rental home could expect to afford any one of around 40 percent of such rental homes available in the ZIP code. The other 60 percent of such rental homes in the ZIP code would be too expensive for the renter’s budget. HUD uses these estimates to determine the size of federal housing subsidies.

Learning R with small-area fair market rent data

During the first part of this course, we will use small-area fair market rent estimates to learn how to wrangle, analyze, graph and map data using R and RStudio.

Below is the basic R script that extracted and displayed the data shown. You will modify and expand this basic script as we get into the more advanced procedures mentioned. Along the way, you will learn what every line of code you work with does.

For starters, though, try simply pasting the code into an R script window in RStudio and running it as is. If R produces the table of rent figures shown above, you’ll know you succeeded.

# ----------------------------------------------------------
# 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")

# ----------------------------------------------------------
# Basic GT table
# ----------------------------------------------------------

FMR_RuCo_table <- gt(FMR_RuCo) %>%
  tab_header(title = "Rutherford FMR, by size and ZIP") %>%
  cols_align(align = "left")

FMR_RuCo_table

Wouldn’t a spreadsheet be easier?

Click the “Data” tab for the current year’s entry on the Small Area Fair Market Rents page, and you may notice that the data are downloadable as an .xlsx file, the default format for the widely popular Microsoft Excel spreadsheet program. If you already know how to use Excel, you might reasonably question the value of learning an alternative to it, especially one that involves cryptic-looking computer code.

Excel is a handy, flexible, fast data analysis tool. I use it all the time. But working with data in R offers many advantages over working with data in a spreadsheet. To name three of the most important ones:

Stick with R long enough to get past your anxiety about working with code, and I think you’ll end up preferring R over your favorite spreadsheet, at least for more complicated data tasks.