Column

Chart A: Time Series of NYC Rat Inspections

Chart B: Number of Rat Inspections by Borough

Column

Chart C: Distribution of Rat Inspection Type

Chart D: Number of Rat Inspections Before and After COVID-19

---
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")) 
```