Ceci est un rapport interactif
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)
)
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"))