Accidente de biciclete | R-bloggeri

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

(Acest articol a fost publicat pentru prima dată pe r.iresmi.netși cu amabilitate a contribuit la R-bloggeri). (Puteți raporta problema legată de conținutul acestei pagini aici)


Doriți să vă distribuiți conținutul pe R-bloggeri? dați clic aici dacă aveți un blog, sau aici dacă nu aveți.

O fotografie cu o bicicletă prăbușită

Ciclista atropellado – CC-BY by Nicanor Arenas Bermejo

Zilele 20 și 21 din 30DayMapChallenge: « OpenStreetMap » și « Conflict » (anterior).

Cartografierea accidentelor între biciclete și mașini în 2023 în Franța. Recent, am avut câteva accidente triste care arată o atenție tot mai mare asupra securității bicicliștilor și a conflictelor de pe drum.

Vom folosi Baze de date anuale ale accidentelor rutiere pe un fundal OSM.

library(dplyr)
library(tidyr)
library(readr)
library(janitor)
library(sf)
library(glue)
library(leaflet)

Ghidul de date este disponibil (în franceză).

# vehicules-2023.csv
vehicles <- read_csv2(
  "https://www.data.gouv.fr/fr/datasets/r/146a42f5-19f0-4b3e-a887-5cd8fbef057b", 
  name_repair = make_clean_names) 

# caract-2023.csv
caract <- read_csv2(
  "https://www.data.gouv.fr/fr/datasets/r/104dbb32-704f-4e99-a71e-43563cb604f2", 
  name_repair = make_clean_names)

# usagers-2023.csv
user <- read_csv2(
  "https://www.data.gouv.fr/fr/datasets/r/68848e2a-28dd-4efc-9d5f-d512f7dbe66f", 
  name_repair = make_clean_names)

severity <- tribble(
    ~grav, ~severity,
        1, "Unharmed",
        2, "Killed",
        3, "Injured hospitalized",
        4, "Slightly injured") |> 
  mutate(severity = factor(
    severity, 
    labels = c("Killed",
               "Injured hospitalized",
               "Slightly injured",
               "Unharmed")))
# accidents where car and bikes are involved
bike_car_acc <- vehicles |> 
  filter(catv %in% c(1, 7)) |> # 1 bike ; 7 : car
  count(num_acc, catv) |> 
  pivot_wider(names_from = catv, values_from = n, names_prefix = "catv_") |> 
  filter(catv_7 > 0 & catv_1 > 0) |> 
  pull(num_acc)

# bikers injuries
bikers <- vehicles |> 
  filter(num_acc %in% bike_car_acc,
         catv == 1) |>
  left_join(user, join_by(num_acc, id_vehicule)) |> 
  left_join(severity, join_by(grav)) |> 
  count(num_acc, severity) 

bikers_display <- bikers |> 
  mutate(outcome = glue("{severity} ({n})")) |> 
  arrange(severity) |> 
  summarise(.by = num_acc,
            outcome = glue_collapse(outcome, sep = "
")) # accident locations bike_accidents <- caract |> filter(num_acc %in% bike_car_acc) |> st_as_sf(coords = c("long", "lat"), crs = "EPSG:4326") |> left_join(bikers_display, join_by(num_acc))

Adică 2858 de accidente și 772 de motocicliști uciși.

bike_accidents |> 
  leaflet() |> 
  addTiles(attribution = r"(
           r.iresmi.net.
           data: Ministère de l'intérieur 2023;
           map: OpenStreetMap)") |> 
  addCircleMarkers(popup = ~ glue("{an}-{mois}-{jour}
biker status:
{outcome}"), clusterOptions = markerClusterOptions())
Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.