---
title: "Dashboard for NYC Rat Inspection"
output:
flexdashboard::flex_dashboard:
orientation: columns
vertical_layout: fill
navbar:
- { icon: fa-home, href: index.html, align: right }
- { icon: fa-play-circle, href: https://youtube.com, align: right }
- { icon: fa-github, href: https://github.com/YijiaJiang/nyc_rat_inspection, align: right }
source_code: embed
theme: flatly
includes:
in_header: icon.html
---
```{r setup, include=FALSE}
library(flexdashboard)
library(tidyverse)
library(plotly)
library(highcharter)
library(xts)
```
```{r, message=FALSE}
url_2012 = "https://raw.githubusercontent.com/YijiaJiang/p8105_final_project_data/main/rat_2012.csv"
rat_2012 = read_csv(url(url_2012))
url_2013 = "https://raw.githubusercontent.com/YijiaJiang/p8105_final_project_data/main/rat_2013.csv"
rat_2013 = read_csv(url(url_2013))
url_2014 = "https://raw.githubusercontent.com/YijiaJiang/p8105_final_project_data/main/rat_2014.csv"
rat_2014 = read_csv(url(url_2014))
url_2015 = "https://raw.githubusercontent.com/YijiaJiang/p8105_final_project_data/main/rat_2015.csv"
rat_2015 = read_csv(url(url_2015))
url_2016 = "https://raw.githubusercontent.com/YijiaJiang/p8105_final_project_data/main/rat_2016.csv"
rat_2016 = read_csv(url(url_2016))
url_2017 = "https://raw.githubusercontent.com/YijiaJiang/p8105_final_project_data/main/rat_2017.csv"
rat_2017 = read_csv(url(url_2017))
url_2018 = "https://raw.githubusercontent.com/YijiaJiang/p8105_final_project_data/main/rat_2018.csv"
rat_2018 = read_csv(url(url_2018))
url_2019 = "https://raw.githubusercontent.com/YijiaJiang/p8105_final_project_data/main/rat_2019.csv"
rat_2019 = read_csv(url(url_2019))
url_2020 = "https://raw.githubusercontent.com/YijiaJiang/p8105_final_project_data/main/rat_2020.csv"
rat_2020 = read_csv(url(url_2020))
url_2021 = "https://raw.githubusercontent.com/YijiaJiang/p8105_final_project_data/main/rat_2021.csv"
rat_2021 = read_csv(url(url_2021))
rat = bind_rows(rat_2012, rat_2013, rat_2014, rat_2015, rat_2016, rat_2017, rat_2018, rat_2019, rat_2020, rat_2021) %>%
select(-...1) %>%
mutate(inspection_month_n = recode(inspection_month,
"Jan" = 1,
"Feb" = 2,
"Mar" = 3,
"Apr" = 4,
"May" = 5,
"Jun" = 6,
"Jul" = 7,
"Aug" = 8,
"Sep" = 9,
"Oct" = 10,
"Nov" = 11,
"Dec" = 12)) %>%
mutate(date = paste(inspection_year, inspection_month_n, inspection_day, sep = "-"))%>%
mutate(date = as.Date(date,format = "%Y-%m-%d"))
```
Column {data-width=600}
-----------------------------------------------------------------------
### Chart A: Time Series of NYC Rat Inspections
```{r, message=FALSE, warning=FALSE}
by_date = rat %>%
group_by(date) %>%
summarise(Total = n())
time_series = xts(by_date$Total , order.by= by_date$date)
hchart(time_series, name = "Rat Sightings") %>%
hc_credits(enabled = TRUE, text = "Sources: City of New York", style = list(fontSize = "12px")) %>%
hc_legend(enabled = TRUE)
```
### Chart B: Number of Rat Inspections by Borough
```{r, message=FALSE, warning=FALSE}
rat %>%
mutate(borough = as.factor(borough)) %>%
rename(Year = inspection_year) %>%
group_by(Year, borough) %>%
summarise(n_obs = n()) %>%
plot_ly(x = ~borough, y = ~n_obs, color = ~borough, frame = ~Year, type = "bar", alpha = 0.7) %>%
layout(xaxis = list(title = "Borough"),
yaxis = list(title = "Number of Inspections")) %>%
hide_legend()
```
Column {data-width=400}
-----------------------------------------------------------------------
### Chart C: Distribution of Rat Inspection Type
```{r, message=FALSE, warning=FALSE}
colors = c("#38C5A3", "#F09968", "#D2959B", "#B499CB", "#EE90BA", "#A8D14F", "#E5D800", "#FCCD4C", "#E2BF96", "#B3B3B3")
rat %>%
mutate(inspection_type = case_when(inspection_type == "Initial" ~ "Initial Inspection",
inspection_type == "BAIT" ~ "Baiting",
inspection_type == "Compliance"~ "Compliance Inspection",
inspection_type == "STOPPAGE" ~ "Stoppage",
inspection_type == "CLEAN_UPS" ~ "Clean Up")) %>%
group_by(inspection_type) %>%
summarise(n_obs = n(),
prop = n_obs/nrow(rat)) %>%
arrange(-prop) %>%
mutate(inspection_type = fct_reorder(inspection_type, -prop)) %>%
plot_ly(labels = ~inspection_type, values = ~prop, type = "pie", alpha = 0.7,
insidetextfont = list(color = "#FFFFFF"),
marker = list(colors = colors,
line = list(color = '#FFFFFF', width = 1))
) %>%
layout(
xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
```
### Chart D: Number of Rat Inspections Before and After COVID-19
```{r, message=FALSE, warning=FALSE}
rat %>%
filter(inspection_year %in% c(2019, 2020)) %>%
mutate(inspection_year = as.factor(inspection_year)) %>%
mutate(inspection_month = as.factor(inspection_month)) %>%
mutate(inspection_month = inspection_month %>%
fct_relevel("Jan", "Feb", "Mar","Apr","May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")) %>%
group_by(inspection_year, inspection_month) %>%
summarise(n_obs = n()) %>%
plot_ly(x = ~inspection_month, y = ~n_obs, type = "scatter", mode = "lines",
color = ~inspection_year) %>%
layout(xaxis = list(title = "Inspection Month"),
yaxis = list(title = "Number of Inspections"))
```