Please start the libraries:

library(tidyverse)
library(knitr)
library(lubridate)
library(ggthemes)
library(scico)
library(ggmap)
library(data.table)
library(sf)
library(tmap)

Check the working directory:

getwd()

Crime in Estonia

We can read and hear more and more about big data or open data. Big data we already covered (in reality both datasets are very big, here we just looked small fragments).
What about open data? in Estonia the state-produced linked open data is accessible through Open Data Portal of Estonia. One of the important feature of this data is that it’s often machine readable.

Lets look one of the datasets from Estonian Police and Border Guard Board. It contains information about crimes in Estonia. The dataset is updated weekly and freely available.

Download it:

crime_data <- read_delim("https://opendata.smit.ee/ppa/csv/avalik_1.csv", 
                    "\t", escape_double = FALSE, col_types = cols(ToimKell = col_character(),
                                                                  ToimKpv = col_character()), trim_ws = TRUE)
glimpse(crime_data)
## Rows: 9,893
## Columns: 18
## $ JuhtumId                <chr> "5fe24546-c87c-18da-848a-e723ecc8c977", "5fe24~
## $ ToimKpv                 <chr> "2022-11-15", "2022-11-15", "2022-11-15", "202~
## $ ToimKell                <chr> "21:28", "21:00", "15:05", "14:25", "12:07", "~
## $ ToimNadalapaev          <chr> "Teisipäev", "Teisipäev", "Teisipäev", "Teisip~
## $ SyndmusLiik             <chr> "PISIVARGUS", "VARGUS", "PISIVARGUS", "PISIVAR~
## $ SyndmusTaiendavStatLiik <chr> NA, "MOBIILTELEFONIVARGUS,TASKUVARGUS", NA, NA~
## $ Seadus                  <chr> "Karistusseadustik", "Karistusseadustik", "Kar~
## $ Paragrahv               <chr> "§ 218.", "§ 199.", "§ 218.", "§ 218.", "§ 199~
## $ ParagrahvTais           <chr> "§ 218. Varavastane süütegu väheväärtusliku as~
## $ Loige                   <chr> "lg. 1.", "lg. 1.", "lg. 1.", "lg. 1.", "lg. 2~
## $ Kahjusumma              <chr> "0-499", NA, "0-499", "0-499", "0-499", NA, "0~
## $ KohtLiik                <chr> "AVALIK_KOHT,KAUPLUS", "AVALIK_KOHT,KASIINO", ~
## $ MaakondNimetus          <chr> "Harju maakond", "Harju maakond", "Harju maako~
## $ ValdLinnNimetus         <chr> "Maardu linn", "Tallinn", "Tallinn", "Tallinn"~
## $ KohtNimetus             <chr> "Maardu linn", "Kesklinna linnaosa", "Lasnamäe~
## $ Lest_X                  <chr> "6593000-6593999", "6589000-6589499", "6587000~
## $ Lest_Y                  <chr> "557000-557999", "542500-542999", "545000-5454~
## $ SyyteoLiik              <chr> "VT", "KT", "VT", "VT", "KT", "VT", "VT", "VT"~
# sometimes there exists easier solution (in current case default download works without any additional parameters):
crime_data_2 <- fread("https://opendata.smit.ee/ppa/csv/avalik_1.csv", encoding = "UTF-8")
glimpse(crime_data_2)
## Rows: 9,893
## Columns: 18
## $ JuhtumId                <chr> "5fe24546-c87c-18da-848a-e723ecc8c977", "5fe24~
## $ ToimKpv                 <date> 2022-11-15, 2022-11-15, 2022-11-15, 2022-11-1~
## $ ToimKell                <chr> "21:28", "21:00", "15:05", "14:25", "12:07", "~
## $ ToimNadalapaev          <chr> "Teisipäev", "Teisipäev", "Teisipäev", "Teisip~
## $ SyndmusLiik             <chr> "PISIVARGUS", "VARGUS", "PISIVARGUS", "PISIVAR~
## $ SyndmusTaiendavStatLiik <chr> "", "MOBIILTELEFONIVARGUS,TASKUVARGUS", "", ""~
## $ Seadus                  <chr> "Karistusseadustik", "Karistusseadustik", "Kar~
## $ Paragrahv               <chr> "§ 218.", "§ 199.", "§ 218.", "§ 218.", "§ 199~
## $ ParagrahvTais           <chr> "§ 218. Varavastane süütegu väheväärtusliku as~
## $ Loige                   <chr> "lg. 1.", "lg. 1.", "lg. 1.", "lg. 1.", "lg. 2~
## $ Kahjusumma              <chr> "0-499", "", "0-499", "0-499", "0-499", "", "0~
## $ KohtLiik                <chr> "AVALIK_KOHT,KAUPLUS", "AVALIK_KOHT,KASIINO", ~
## $ MaakondNimetus          <chr> "Harju maakond", "Harju maakond", "Harju maako~
## $ ValdLinnNimetus         <chr> "Maardu linn", "Tallinn", "Tallinn", "Tallinn"~
## $ KohtNimetus             <chr> "Maardu linn", "Kesklinna linnaosa", "Lasnamäe~
## $ Lest_X                  <chr> "6593000-6593999", "6589000-6589499", "6587000~
## $ Lest_Y                  <chr> "557000-557999", "542500-542999", "545000-5454~
## $ SyyteoLiik              <chr> "VT", "KT", "VT", "VT", "KT", "VT", "VT", "VT"~
crime_data %>% 
  head() %>% 
  kable()
JuhtumId ToimKpv ToimKell ToimNadalapaev SyndmusLiik SyndmusTaiendavStatLiik Seadus Paragrahv ParagrahvTais Loige Kahjusumma KohtLiik MaakondNimetus ValdLinnNimetus KohtNimetus Lest_X Lest_Y SyyteoLiik
5fe24546-c87c-18da-848a-e723ecc8c977 2022-11-15 21:28 Teisipäev PISIVARGUS NA Karistusseadustik § 218. § 218. Varavastane süütegu väheväärtusliku asja ja varalise õiguse vastu lg. 1. 0-499 AVALIK_KOHT,KAUPLUS Harju maakond Maardu linn Maardu linn 6593000-6593999 557000-557999 VT
5fe24550-c87c-18da-848a-e723ecc8c977 2022-11-15 21:00 Teisipäev VARGUS MOBIILTELEFONIVARGUS,TASKUVARGUS Karistusseadustik § 199. § 199. Vargus lg. 1. NA AVALIK_KOHT,KASIINO Harju maakond Tallinn Kesklinna linnaosa 6589000-6589499 542500-542999 KT
5fe2451e-c87c-18da-848a-e723ecc8c977 2022-11-15 15:05 Teisipäev PISIVARGUS NA Karistusseadustik § 218. § 218. Varavastane süütegu väheväärtusliku asja ja varalise õiguse vastu lg. 1. 0-499 AVALIK_KOHT,KAUPLUS Harju maakond Tallinn Lasnamäe linnaosa 6587000-6587499 545000-545499 VT
5fe24564-c87c-18da-848a-e723ecc8c977 2022-11-15 14:25 Teisipäev PISIVARGUS NA Karistusseadustik § 218. § 218. Varavastane süütegu väheväärtusliku asja ja varalise õiguse vastu lg. 1. 0-499 AVALIK_KOHT,KAUPLUS Harju maakond Tallinn Lasnamäe linnaosa 6587000-6587499 545000-545499 VT
5fe244e2-c87c-18da-848a-e723ecc8c977 2022-11-15 12:07 Teisipäev VARGUS MUU_VARGUS Karistusseadustik § 199. § 199. Vargus lg. 2. 0-499 AVALIK_KOHT,KAUPLUS Harju maakond Tallinn Haabersti linnaosa 6587500-6587999 537000-537499 KT
5fe244c4-c87c-18da-848a-e723ecc8c977 2022-11-15 10:54 Teisipäev PISIVARGUS NA Karistusseadustik § 218. § 218. Varavastane süütegu väheväärtusliku asja ja varalise õiguse vastu lg. 1. NA AVALIK_KOHT,KAUPLUS Harju maakond Tallinn Nõmme linnaosa 6582000-6582499 540000-540499 VT

Unfortunately the table is in Estonian, but hopefully we manage to analyse it! First we translate the column names to English:

crime_names <- colnames(crime_data)

crime_names_en <-c("CaseId", 
                   "Date", 
                   "Time", 
                   "Weekday", 
                   "CaseType", 
                   "CaseTypeAdditional", 
                   "Law", 
                   "Paragraph", 
                   "ParagraphFull", 
                   "Section", 
                   "DamagesEuro", 
                   "PlaceType", 
                   "County", 
                   "Municipality", 
                   "Place", 
                   "Lest_X", 
                   "Lest_Y", 
                   "Type")

data_frame("Columns, et" = crime_names, "Columns, en" = crime_names_en) %>% 
  kable()
Columns, et Columns, en
JuhtumId CaseId
ToimKpv Date
ToimKell Time
ToimNadalapaev Weekday
SyndmusLiik CaseType
SyndmusTaiendavStatLiik CaseTypeAdditional
Seadus Law
Paragrahv Paragraph
ParagrahvTais ParagraphFull
Loige Section
Kahjusumma DamagesEuro
KohtLiik PlaceType
MaakondNimetus County