library(tidyverse)
library(ggplot2)
library(tidyr)
library(dplyr)
Group 4 (USArrests) Load the ‘USArrests’ data set using this code:
{data(USArrests)}
Describe and summarize your assigned data set. Which states have the highest murder and assault rates? Is there a relationship between urban population percentage and crime rates? Graph your data.
data(USArrests)
head(USArrests)
## Murder Assault UrbanPop Rape
## Alabama 13.2 236 58 21.2
## Alaska 10.0 263 48 44.5
## Arizona 8.1 294 80 31.0
## Arkansas 8.8 190 50 19.5
## California 9.0 276 91 40.6
## Colorado 7.9 204 78 38.7
USArrests$State <- rownames(USArrests)
# Murder
USArrests %>%
select(State, Murder) %>%
arrange(desc(Murder)) %>%
head(10)
## State Murder
## Georgia Georgia 17.4
## Mississippi Mississippi 16.1
## Florida Florida 15.4
## Louisiana Louisiana 15.4
## South Carolina South Carolina 14.4
## Alabama Alabama 13.2
## Tennessee Tennessee 13.2
## North Carolina North Carolina 13.0
## Texas Texas 12.7
## Nevada Nevada 12.2
# Assault
USArrests %>%
select(State, Assault) %>%
arrange(desc(Assault)) %>%
head(10)
## State Assault
## North Carolina North Carolina 337
## Florida Florida 335
## Maryland Maryland 300
## Arizona Arizona 294
## New Mexico New Mexico 285
## South Carolina South Carolina 279
## California California 276
## Alaska Alaska 263
## Mississippi Mississippi 259
## Michigan Michigan 255
# Murder
fit <- lm(Murder ~ UrbanPop, data = USArrests)
r2_val <- summary(fit)$r.squared
p_val <- summary(fit)$coefficients[2, 4]
label_text <- paste0("R² = ", round(r2_val, 3),
", p = ", round(p_val, 3))
ggplot(USArrests, aes(x = UrbanPop, y = Murder)) +
geom_point(alpha = 0.6, size = 1.5) +
geom_smooth(method = "lm", color = "black", se = FALSE) +
labs(x = "Urban population percentage (%)", y = "Murder (per 100000)", subtitle = label_text) +
theme_classic()
## `geom_smooth()` using formula = 'y ~ x'
# Assault
fit <- lm(Assault ~ UrbanPop, data = USArrests)
r2_val <- summary(fit)$r.squared
p_val <- summary(fit)$coefficients[2, 4]
label_text <- paste0("R² = ", round(r2_val, 3),
", p = ", round(p_val, 3))
ggplot(USArrests, aes(x = UrbanPop, y = Assault)) +
geom_point(alpha = 0.6, size = 1.5) +
geom_smooth(method = "lm", color = "black", se = FALSE) +
labs(x = "Urban population percentage (%)", y = "Assault (per 100000)", subtitle = label_text) +
theme_classic()
## `geom_smooth()` using formula = 'y ~ x'
# Rape
fit <- lm(Rape ~ UrbanPop, data = USArrests)
r2_val <- summary(fit)$r.squared
p_val <- summary(fit)$coefficients[2, 4]
label_text <- paste0("R² = ", round(r2_val, 3),
", p = ", round(p_val, 3))
ggplot(USArrests, aes(x = UrbanPop, y = Rape)) +
geom_point(alpha = 0.6, size = 1.5) +
geom_smooth(method = "lm", color = "black", se = FALSE) +
labs(x = "Urban population percentage (%)", y = "Rape (per 100000)", subtitle = label_text) +
theme_classic()
## `geom_smooth()` using formula = 'y ~ x'