Average Commute Times Across Tennessee Counties

For this assignment, I chose to use the Census API script and focused on average commute time as my variable. The data comes from the U.S. Census Bureau’s American Community Survey and compares estimated average commute times across Tennessee counties. Houston County had the highest estimated average commute time at 37.6 minutes, followed by Hickman County at 36.7 minutes and Stewart County at 36.3 minutes. The longer commute times in these counties could be related to residents traveling outside their local communities for work. Overall, the results show noticeable differences in commute times across Tennessee counties.

County Variable Estimate Margin of Error
Houston County, Tennessee DP03_0025 37.6 3.8
Hickman County, Tennessee DP03_0025 36.7 2.6
Stewart County, Tennessee DP03_0025 36.3 3.5
Morgan County, Tennessee DP03_0025 35.5 2.6
Cannon County, Tennessee DP03_0025 35.4 3.1
Bledsoe County, Tennessee DP03_0025 35.1 3.1
Grundy County, Tennessee DP03_0025 35.1 2.7
Macon County, Tennessee DP03_0025 34.8 2.9
Humphreys County, Tennessee DP03_0025 34.7 3.5
Union County, Tennessee DP03_0025 34.6 2.4
Meigs County, Tennessee DP03_0025 34.4 2.4
Fayette County, Tennessee DP03_0025 34.1 1.6
Marion County, Tennessee DP03_0025 33.9 2.7
Trousdale County, Tennessee DP03_0025 33.9 4.1
Lewis County, Tennessee DP03_0025 33.6 3.9
Cheatham County, Tennessee DP03_0025 33.5 1.4
Jackson County, Tennessee DP03_0025 33.4 3.1
Tipton County, Tennessee DP03_0025 32.9 1.5
Cocke County, Tennessee DP03_0025 32.8 2.1
Perry County, Tennessee DP03_0025 32.8 4.2
Dickson County, Tennessee DP03_0025 32.7 1.2
Hardeman County, Tennessee DP03_0025 32.6 2.4
Grainger County, Tennessee DP03_0025 32.3 1.5
Smith County, Tennessee DP03_0025 32.2 2.5
Sequatchie County, Tennessee DP03_0025 31.7 2.8
Polk County, Tennessee DP03_0025 31.4 2.0
Wayne County, Tennessee DP03_0025 31.3 2.2
Pickett County, Tennessee DP03_0025 31.2 5.9
Hancock County, Tennessee DP03_0025 30.8 3.7
Lincoln County, Tennessee DP03_0025 30.8 1.4
Robertson County, Tennessee DP03_0025 30.7 1.0
Campbell County, Tennessee DP03_0025 30.1 1.8
Scott County, Tennessee DP03_0025 30.1 2.2
Wilson County, Tennessee DP03_0025 30.1 0.9
Marshall County, Tennessee DP03_0025 29.9 1.8
Giles County, Tennessee DP03_0025 29.8 1.6
Van Buren County, Tennessee DP03_0025 29.6 3.3
Rhea County, Tennessee DP03_0025 29.5 2.9
DeKalb County, Tennessee DP03_0025 29.3 2.5
Maury County, Tennessee DP03_0025 29.0 0.8
Sumner County, Tennessee DP03_0025 29.0 0.9
Jefferson County, Tennessee DP03_0025 28.9 1.2
Bedford County, Tennessee DP03_0025 28.4 1.7
Roane County, Tennessee DP03_0025 28.4 1.3
Monroe County, Tennessee DP03_0025 28.3 1.4
Chester County, Tennessee DP03_0025 28.2 1.9
Rutherford County, Tennessee DP03_0025 28.1 0.6
Williamson County, Tennessee DP03_0025 27.9 0.9
Montgomery County, Tennessee DP03_0025 27.8 0.8
Hawkins County, Tennessee DP03_0025 27.7 1.5
Clay County, Tennessee DP03_0025 27.6 3.9
Fentress County, Tennessee DP03_0025 27.5 3.3
Claiborne County, Tennessee DP03_0025 27.4 1.8
Henderson County, Tennessee DP03_0025 26.9 1.9
Warren County, Tennessee DP03_0025 26.9 1.5
Decatur County, Tennessee DP03_0025 26.8 2.0
McNairy County, Tennessee DP03_0025 26.8 1.7
Haywood County, Tennessee DP03_0025 26.7 2.1
Sevier County, Tennessee DP03_0025 26.6 0.7
Benton County, Tennessee DP03_0025 26.5 3.0
Lauderdale County, Tennessee DP03_0025 26.5 2.5
Overton County, Tennessee DP03_0025 26.3 1.8
Carroll County, Tennessee DP03_0025 26.2 1.8
Gibson County, Tennessee DP03_0025 26.1 1.2
Greene County, Tennessee DP03_0025 26.0 1.3
Hardin County, Tennessee DP03_0025 25.9 2.4
Unicoi County, Tennessee DP03_0025 25.9 2.5
Johnson County, Tennessee DP03_0025 25.6 2.5
Lawrence County, Tennessee DP03_0025 25.6 1.2
Coffee County, Tennessee DP03_0025 25.5 1.1
Blount County, Tennessee DP03_0025 25.3 0.7
Franklin County, Tennessee DP03_0025 25.1 1.5
Moore County, Tennessee DP03_0025 25.1 2.1
Davidson County, Tennessee DP03_0025 24.7 0.4
McMinn County, Tennessee DP03_0025 24.6 1.2
Anderson County, Tennessee DP03_0025 24.5 0.9
Carter County, Tennessee DP03_0025 24.3 1.0
Loudon County, Tennessee DP03_0025 24.3 1.4
Crockett County, Tennessee DP03_0025 24.0 1.2
Hamblen County, Tennessee DP03_0025 23.9 1.7
White County, Tennessee DP03_0025 23.7 1.8
Bradley County, Tennessee DP03_0025 23.3 0.9
Cumberland County, Tennessee DP03_0025 22.9 1.0
Shelby County, Tennessee DP03_0025 22.3 0.3
Knox County, Tennessee DP03_0025 22.2 0.3
Hamilton County, Tennessee DP03_0025 22.1 0.3
Sullivan County, Tennessee DP03_0025 21.9 0.8
Henry County, Tennessee DP03_0025 21.6 1.5
Washington County, Tennessee DP03_0025 21.6 0.7
Lake County, Tennessee DP03_0025 21.2 2.0
Putnam County, Tennessee DP03_0025 21.1 0.9
Weakley County, Tennessee DP03_0025 20.9 1.2
Madison County, Tennessee DP03_0025 20.3 0.9
Obion County, Tennessee DP03_0025 20.2 1.4
Dyer County, Tennessee DP03_0025 19.8 1.5

Code:

############################################################
# STEP 1: Load Packages
############################################################

if (!require("tidycensus")) install.packages("tidycensus")
if (!require("tidyverse")) install.packages("tidyverse")
if (!require("kableExtra")) install.packages("kableExtra")

library(tidycensus)
library(tidyverse)
library(kableExtra)

############################################################
# STEP 2: Verify Census API Key
############################################################

if (!nzchar(Sys.getenv("CENSUS_API_KEY"))) {
  
  stop(
    paste(
      "\nNo Census API key was found.",
      "\n\nTo obtain a free Census API key, visit:",
      "\nhttps://api.census.gov/data/key_signup.html",
      "\n\nThen run the one-time setup code at the",
      "\ntop of this script to store your key.",
      "\n"
    )
  )
  
}

############################################################
# STEP 3: Explore 2024 Codebooks and Choose an ACS Variable
############################################################

ProfileTables  <- load_variables(2024, "acs5/profile")
# DetailedTables <- load_variables(2024, "acs5")
# SubjectTables  <- load_variables(2024, "acs5/subject")


# Replace the variable code below with the ACS variable
# you want to download.

my_variable <- "DP03_0025" # <<< CAN CHANGE THE VARIABLE CODE

# Example variables:
#
# DP05_0001  = Total population
# DP03_0062  = Median Household Income
# DP03_0128P = Poverty Rate
# DP02_0068P = Bachelor's Degree or Higher Rate
# DP05_0018  = Median Age
# DP04_0046P = Homeownership Rate
# DP04_0134  = Median Gross Rent
# DP04_0142P = Pct. renters paying 35%+ HH income in rent (GRAPI)
# DP05_0090P = Hispanic or Latino Population Percentage
# DP02_0094P = Foreign-Born Percentage
# DP03_0009P = Unemployment Rate
# DP03_0025  = Average Commute Time

############################################################
# STEP 4: Download Tennessee County Data
############################################################

mydata <- get_acs(
  geography = "county",
  state = "TN",  # <<< CAN CHANGE THE STATE
  year = 2024,
  survey = "acs5",
  variables = my_variable
)

############################################################
# STEP 5: Keep Needed Variables
############################################################

mydata <- mydata |>
  select(
    County = NAME,
    Variable = variable,
    Estimate = estimate,
    Margin_of_Error = moe
  )

############################################################
# STEP 6: Sort Results from Highest to Lowest
############################################################

mydata <- mydata |>
  arrange(desc(Estimate))

############################################################
# STEP 7: Display Results as a Table
############################################################

ResultsTable <- mydata |>
  kbl(
    col.names = c(
      "County",
      "Variable",
      "Estimate",
      "Margin of Error"
    ),
    format.args = list(big.mark = ",")
  ) |>
  kable_styling(
    bootstrap_options = c("striped", "hover"),
    full_width = FALSE
  )

ResultsTable