accidents = read_csv("./data_TP/accidents_label.csv")
## Parsed with column specification:
## cols(
## .default = col_character(),
## Num_Acc = col_double(),
## an_nais = col_double(),
## occutc = col_double(),
## dep = col_double(),
## nbv = col_double(),
## lartpc = col_double(),
## larrout = col_double(),
## year = col_double(),
## Y = col_double()
## )
## See spec(...) for full column specifications.
accidents %>% summarise_all(class)
## # A tibble: 1 x 25
## Num_Acc an_nais occutc dep nbv lartpc larrout year catu sexe
## <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 numeric numeric numer~ nume~ nume~ numer~ numeric nume~ char~ char~
## # ... with 15 more variables: num_veh <chr>, catv <chr>, lum <chr>,
## # agg <chr>, int <chr>, atm <chr>, col <chr>, com <chr>, adr <chr>,
## # catr <chr>, prof <chr>, surf <chr>, situ <chr>, env1 <chr>, Y <chr>
accidents = accidents %>% mutate(dep = factor(dep))
accidents %>% summarise_all(class)
## # A tibble: 1 x 25
## Num_Acc an_nais occutc dep nbv lartpc larrout year catu sexe
## <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 numeric numeric numer~ fact~ nume~ numer~ numeric nume~ char~ char~
## # ... with 15 more variables: num_veh <chr>, catv <chr>, lum <chr>,
## # agg <chr>, int <chr>, atm <chr>, col <chr>, com <chr>, adr <chr>,
## # catr <chr>, prof <chr>, surf <chr>, situ <chr>, env1 <chr>, Y <chr>
variable_class = accidents %>% summarise_all(class) %>% gather(variable,class)
for (colonne in variable_class$variable){
if (filter( variable_class, variable == colonne)$class=="character" | filter( variable_class, variable == colonne)$class=="factor" ){
print(c(colonne,dim(unique(accidents%>% select(colonne)))))
}
}
## [1] "dep" "8" "1"
## [1] "catu" "4" "1"
## [1] "sexe" "2" "1"
## [1] "num_veh" "79" "1"
## [1] "catv" "33" "1"
## [1] "lum" "5" "1"
## [1] "agg" "2" "1"
## [1] "int" "9" "1"
## [1] "atm" "9" "1"
## [1] "col" "7" "1"
## [1] "com" "761" "1"
## [1] "adr" "109560" "1"
## [1] "catr" "7" "1"
## [1] "prof" "4" "1"
## [1] "surf" "9" "1"
## [1] "situ" "5" "1"
## [1] "env1" "3" "1"
accidents = accidents %>% select(-c("adr","num_veh","com"))
variable_class = accidents %>% summarise_all(class) %>% gather(variable,class)
for (colonne in variable_class$variable){
if (filter( variable_class, variable == colonne)$class=="character" | filter( variable_class, variable == colonne)$class=="factor" ){
print(accidents %>% group_by(get(colonne)) %>% summarise(moyenne= mean(Y)))}
}
## # A tibble: 8 x 2
## `get(colonne)` moyenne
## <fct> <dbl>
## 1 750 0.0524
## 2 770 0.300
## 3 780 0.215
## 4 910 0.143
## 5 920 0.0880
## 6 930 0.243
## 7 940 0.109
## 8 950 0.181
## # A tibble: 4 x 2
## `get(colonne)` moyenne
## <chr> <dbl>
## 1 Conducteur 0.106
## 2 Passager 0.158
## 3 Pieton 0.277
## 4 Pieton en roller ou en trottinette 0.267
## # A tibble: 2 x 2
## `get(colonne)` moyenne
## <chr> <dbl>
## 1 Feminin 0.134
## 2 Masculin 0.129
## # A tibble: 33 x 2
## `get(colonne)` moyenne
## <chr> <dbl>
## 1 Autobus 0.111
## 2 Autocar 0.0854
## 3 Autre vehicule 0.269
## 4 Bicyclette 0.164
## 5 Categorie plus utilisee (VL + caravane) 0.167
## 6 Categorie plus utilisee (VL + remorque) 0.0357
## 7 Cyclomoteur <50cm3 0.187
## 8 Engin special 0.107
## 9 Motocyclette > 125 cm 0.261
## 10 Motocyclette > 50 cm et <= 125 cm 0.189
## # ... with 23 more rows
## # A tibble: 5 x 2
## `get(colonne)` moyenne
## <chr> <dbl>
## 1 Crepuscule ou aube 0.144
## 2 Nuit avec eclairage public allume 0.136
## 3 Nuit avec eclairage public non allume 0.156
## 4 Nuit sans eclairage public 0.222
## 5 Plein jour 0.122
## # A tibble: 2 x 2
## `get(colonne)` moyenne
## <chr> <dbl>
## 1 En agglomeration 0.119
## 2 Hors agglomeration 0.176
## # A tibble: 9 x 2
## `get(colonne)` moyenne
## <chr> <dbl>
## 1 Autre intersection 0.201
## 2 Giratoire 0.173
## 3 Hors intersection 0.146
## 4 Intersection a plus de 4 branches 0.0623
## 5 Intersection en T 0.114
## 6 Intersection en X 0.104
## 7 Intersection en Y 0.0928
## 8 Passage a niveau 0.258
## 9 Place 0.0589
## # A tibble: 9 x 2
## `get(colonne)` moyenne
## <chr> <dbl>
## 1 Autre 0.190
## 2 Brouillard ou fumee 0.253
## 3 Neige ou grele 0.140
## 4 Normale 0.130
## 5 Pluie forte 0.143
## 6 Pluie legere 0.119
## 7 Temps couvert 0.144
## 8 Temps eblouissant 0.188
## 9 Vent fort ou tempete 0.2
## # A tibble: 7 x 2
## `get(colonne)` moyenne
## <chr> <dbl>
## 1 Autre collision 0.162
## 2 Deux vehicules, frontale 0.235
## 3 Deux vehicules, par le cote 0.108
## 4 Deux vehicules,par l arriere 0.0945
## 5 Sans collision 0.203
## 6 Trois vehicules et plus, collisions multiples 0.116
## 7 Trois vehicules et plus, en chaine 0.0568
## # A tibble: 7 x 2
## `get(colonne)` moyenne
## <chr> <dbl>
## 1 Autoroute 0.124
## 2 Autre 0.185
## 3 Hors reseau public 0.231
## 4 Parc de stationnement ouvert a la circulation publique 0.190
## 5 Route Departementale 0.188
## 6 Route Nationale 0.170
## 7 Voie Communale 0.103
## # A tibble: 4 x 2
## `get(colonne)` moyenne
## <chr> <dbl>
## 1 Bas de cote 0.170
## 2 Pente 0.140
## 3 Plat 0.129
## 4 Sommet de cote 0.150
## # A tibble: 9 x 2
## `get(colonne)` moyenne
## <chr> <dbl>
## 1 autre 0.204
## 2 boue 0.280
## 3 corps gras ou huile 0.133
## 4 enneigee 0.118
## 5 flaques 0.165
## 6 inondee 0.209
## 7 mouillee 0.127
## 8 normale 0.131
## 9 verglacee 0.196
## # A tibble: 5 x 2
## `get(colonne)` moyenne
## <chr> <dbl>
## 1 Sur accotement 0.404
## 2 Sur bande d arret d urgence 0.181
## 3 Sur chaussee 0.126
## 4 Sur piste cyclable 0.0924
## 5 Sur trottoir 0.223
## # A tibble: 3 x 2
## `get(colonne)` moyenne
## <chr> <dbl>
## 1 00 0.118
## 2 03 0.157
## 3 99 0.141
ggplot(accidents %>% group_by(year) %>% summarise(moyenne= mean(Y)),aes(x=year,y=moyenne)) + geom_line()
- Proposer une réprésentation graphique pour visualiser le pourcentage d’accidents graves en fonction des autres variables continues
variable_class
## # A tibble: 22 x 2
## variable class
## <chr> <chr>
## 1 Num_Acc numeric
## 2 an_nais numeric
## 3 occutc numeric
## 4 dep factor
## 5 nbv numeric
## 6 lartpc numeric
## 7 larrout numeric
## 8 year numeric
## 9 catu character
## 10 sexe character
## # ... with 12 more rows
ggplot(accidents %>% group_by(an_nais) %>% summarise(moyenne= mean(Y)),aes(x=an_nais,y=moyenne)) + geom_line()
ggplot(accidents %>% group_by(occutc) %>% summarise(moyenne= mean(Y)),aes(x=occutc,y=moyenne)) + geom_line()