title: “lab 10” author: “Joshua Hawk” date: “2026-04-09” output: html_document
# ----------------------------------------------------------
# Step 1: Install required packages (if missing)
# ----------------------------------------------------------
if (!require("tidyverse"))
install.packages("tidyverse")
if (!require("plotly"))
install.packages("plotly")
# ----------------------------------------------------------
# Step 2: Load libraries
# ----------------------------------------------------------
library(tidyverse)
library(plotly)
# ----------------------------------------------------------
# Step 3: Read data from CSV file
# ----------------------------------------------------------
mydata <- read_csv(
"https://raw.githubusercontent.com/drkblake/Data/main/MGRData.csv"
)
# ----------------------------------------------------------
# Histogram of Home Ownership Rates
# ----------------------------------------------------------
Histogram <- plot_ly(
data = mydata,
x = ~Ownership,
type = "histogram",
nbinsx = 40,
opacity = 0.6,
marker = list(
color = "#4C78A8",
line = list(color = "black", width = 1)
)
) %>%
layout(
title = "Distribution of Home Ownership Rates",
xaxis = list(title = "Home Ownership Rate (%)"),
yaxis = list(title = "Number of Divisions")
)
Histogram
# ----------------------------------------------------------
# Boxplot: Home Ownership Rates by County
# ----------------------------------------------------------
Boxplot <- plot_ly(
data = mydata,
x = ~County,
y = ~Ownership,
type = "box",
color = ~County,
colors = c(
"Davidson" = "#d73027",
"Rutherford" = "#fc8d59",
"Williamson" = "#1a9850"
),
boxpoints = "outliers",
opacity = 0.8
) %>%
layout(
title = "Home Ownership Rates by County",
xaxis = list(title = "County"),
yaxis = list(title = "Home Ownership Rate (%)"),
showlegend = FALSE
)
Boxplot
# ----------------------------------------------------------
# Scatterplot: Ownership vs Median Household Income
# ----------------------------------------------------------
Scatterplot <- plot_ly(
data = mydata,
x = ~Med_Income,
y = ~Ownership,
type = "scatter",
mode = "markers",
text = ~County,
hoverinfo = "text+x+y",
color = ~County,
colors = c(
"Davidson" = "#d73027",
"Rutherford" = "#fc8d59",
"Williamson" = "#1a9850"
),
marker = list(
size = 8,
opacity = 0.7
)
) %>%
add_trace(
type = "scatter",
mode = "lines",
x = ~Med_Income,
y = fitted(lm(Ownership ~ Med_Income, data = mydata)),
name = "OLS Trend",
line = list(color = "black", width = 2),
inherit = FALSE
) %>%
layout(
title = "Home Ownership Rate by Median Household Income",
xaxis = list(title = "Median Household Income ($)"),
yaxis = list(title = "Home Ownership Rate (%)"),
legend = list(title = list(text = "County"))
)
Scatterplot