Rapport

Ceci est un rapport interactif

Accidents

library(crosstalk)
library(leaflet)
library(DT)
library(highcharter)
library(dplyr)
library(readr)
library(ggplot2)
library(plotly)
library(lubridate)
# Wrap data frame in SharedData

acc2019 <- read_csv('/Users/woza/Documents/dataScience/statec/data/radar/acc2019.csv') %>% 
  mutate(mois_label = month(Mois, label = TRUE),
         domcor_lib = factor(Domcor_lib, levels=c('Accident mortel',  'Accident avec blessés graves', 'Accident avec blessés légers'))
)

sd <- SharedData$new(acc2019)

# Create a filter input
bscols(
crosstalk::filter_checkbox('dom', 'Domage', sd, group = ~domcor_lib),
crosstalk::filter_slider('month', 'Mois', sd, column=~Mois, step=1)
)
domCol <- colorFactor(c("#fa8e56","#ffde8d","#d83123"), domain = c('Accident avec blessés légers', 'Accident avec blessés graves', 'Accident mortel'))

# Use SharedData like a dataframe with Crosstalk-enabled widgets
bscols(
  leaflet(sd) %>% addTiles() %>% addCircleMarkers(lng = ~longitud, 
                                            lat = ~latitude,
                                            color= ~domCol(domcor_lib),
                                            radius=5,
                                             stroke = FALSE, fillOpacity = 0.7) %>%   addLegend('bottomright', pal = domCol, values = ~domcor_lib,
            title = 'Dommage corporel',
            opacity = 1),
  datatable(sd, extensions="Scroller", style="bootstrap", class="compact", width="100%",
            options=list(deferRender=TRUE, scrollY=300, scroller=TRUE))
)
b <- ggplot(sd, aes(x = mois_label, fill = domcor_lib)) +
  geom_bar() + 
   scale_fill_manual(breaks = c('Accident avec blessés légers', 'Accident avec blessés graves', 'Accident mortel'), 
                       values=c("#ffde8d", "#fa8e56","#d83123"))+
  xlab('Mois') +
  ylab('Nb accidents')+
  labs(fill="Dommage",
       title = "Nombre d'accidents par mois") +
  theme_minimal() +
  theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.85),
        panel.grid.minor.x = element_blank(),
        panel.grid.major.x = element_blank()) 

bscols(widths=12,
       ggplotly(b) %>% config(displayModeBar=FALSE)
       )

Accidents

library(highcharter)
group_acc2019 <- acc2019 %>% 
  group_by(mois_label, domcor_lib) %>% 
  summarise(value=n())

hchart(group_acc2019,'column', hcaes(x=mois_label, y=value, group=domcor_lib),color=c("#d83123", "#fa8e56","#ffde8d")) %>% 
  hc_title(text='Accidents par mois') %>% 
  hc_xAxis(title=list(text = "Mois")) %>% 
  hc_yAxis(title=list(text = "nb accidents"))