Vuoden 2015 liikenneonnettomuustilastojen analysointi (Jälkitehtävä 2C)

Ladataan onnettomuustilastot-csv avoindata-sivuston kautta omalle työasemalle

url <- "https://www.avoindata.fi/data/dataset/35f439f6-4512-444f-afd1-444356cb9524/resource/df40544f-7967-4224-8f02-6e0543f2e623/download/tieliikenneonnettomuudet2015.zip"
download.file(url, destfile="tieliikenneonnettomuudet2015.zip")
unzip("tieliikenneonnettomuudet2015.zip")
#Käytetään tieliikenneonnettomuudet_2015_onnettomuus.csv -aineistoa
Onnettomuusdata <- read.csv(file="Tieliikenneonnettomuudet_2015/tieliikenneonnettomuudet_2015_onnettomuus.csv", header=TRUE, sep=";")
#print(Onnettomuusdata) 

Analysoidaan aineistosta, kuinka monta onnettomuutta tapahtui kuukausittain

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(plotly)
## Loading required package: ggplot2
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
rows <- nrow(Onnettomuusdata) # csv rivimäärä yhteensä
#rows
kuolleet <- filter(Onnettomuusdata, Kuolleet != "0")
#kuolleet
kuolleet_lkm <- nrow(kuolleet)
#kuolleet_lkm
loukkaantumiset <- filter(Onnettomuusdata, Kuolleet == "0" & Loukkaant != "0")
loukkaantumiset_lkm <- nrow(loukkaantumiset)
#loukkaantumiset_lkm
ei_loukkaantumista <- filter(Onnettomuusdata, Kuolleet == "0" & Loukkaant == "0")
ei_loukkaantumista_lkm <- nrow(ei_loukkaantumista)
#ei_loukkaantumista

p1 <- plot_ly(loukkaantumiset, x = ~Kk, name ="Loukkaantumiseen 
              johtaneet 
              onnettomuudet") %>% add_histogram()

#p1
p2 <- plot_ly(kuolleet, x = ~Kk, name = "Kuolemaan 
              johtaneet 
              onnettomuudet") %>% add_histogram()
#p2
p3 <- plot_ly(ei_loukkaantumista, x = ~Kk,name = "Onnettomuudet,
              missä ei tapahtunut 
              loukkaantumisia") %>% add_histogram() #%>% layout(title="Onnettomuudet, missä ei tapahtunut loukkaantumisia")
#p3

subplot(p1, p2,p3) #%>% hide_legend()
#Onnettomuuksien määrä vuonna 2015 yhteensä
rows
## [1] 25175

Tutkitaan, kuinka iso osa onnettomuuksista on johtanut loukkaantumisiin

slices <- c(ei_loukkaantumista_lkm, loukkaantumiset_lkm,kuolleet_lkm)
lbls <- c("Ei loukkaantumisia", "Loukkaantumiset", "Kuolemaan johtaneet 
          loukkantumiset")
pie(slices, labels = lbls, main="Loukkaantumisiin johtaineiden onnettomuuksien osuus")

Huomataan, että suurin osa onnettomuuksista ei ole johtanut loukkaantumisiin.

Tutkitaan, minä viikonpäivänä on sattunut eniten onnettomuuksia

p1 <- plot_ly(Onnettomuusdata, x = ~Vkpv) %>% add_histogram()
p1

Huomataan, että perjantaina on sattunut eniten onnettomuuksia

Tutkitaan sään vaikutusta onnettomuuksiin

p1 <- plot_ly(Onnettomuusdata, x = ~Sääsel) %>% add_histogram()
p1

Kaavion perusteella kirkkaalla säällä on tapahtunut määrällisesti eniten onnettomuuksia.