Load Libraries

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.

Load data

data(USArrests)

Describe and summarise

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)

Which states have the highest murder and assault rates?

Top 10 states for murder

# 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

Top 10 states for assault

# 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

Is there a relationship between urban population percentage and crime rates? Graph your data.

# 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'