library(tidyverse)
library(ggimage)
library(viridis)
setwd("~/DATA110")
aircraft <- read_csv("aircraft_wildlife_strikes_faa (2).csv")
data(aircraft)aircraft
cln1 <- aircraft |>
filter(SPECIES %in% c("Mourning dove", "Barn swallow", "Killdeer")) |>
filter(!is.na(INCIDENT_YEAR)) |>
filter(INCIDENT_YEAR >= 2000) |>
group_by(INCIDENT_YEAR, SPECIES) |>
summarise(nb_incidents = n(), .groups = "drop")ggplot(cln1, aes(x = factor(INCIDENT_YEAR), y = nb_incidents, fill = SPECIES)) +
geom_bar(stat = "identity", position = "stack") +
scale_fill_manual(values = c("Mourning dove" = "pink",
"Barn swallow" = "violet",
"Killdeer" = "blue")) +
labs(
title = "Number of Incidents per Year for the 3 Species",
x = "Year",
y = "Number of Incidents",
fill = "Species"
) +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))summary_operator <- aircraft |>
filter(!is.na(OPERATOR)) |>
group_by(OPERATOR) |>
summarise(
nb_incidents = n(),
avg_cost = mean(COST_REPAIRS, na.rm = TRUE)
) |>
arrange(desc(nb_incidents)) |>
filter(!OPERATOR %in% c("UNKNOWN", "BUSINESS"))|>
slice_head(n = 10)ggplot(summary_operator, aes(x = reorder(OPERATOR, nb_incidents), y = nb_incidents, fill = OPERATOR)) +
geom_col() +
coord_flip() +
scale_fill_viridis_d(option ="rocket") +
labs(
title = "Top 10 Operators by Number of Incidents",
x = "Operator",
y = "Number of Incidents",
fill = "Operator"
) +
theme_minimal()