-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.R
103 lines (91 loc) · 3.13 KB
/
app.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#
# This is a Shiny web application. You can run the application by clicking
# the 'Run App' button above.
#
# Find out more about building applications with Shiny here:
#
# http://shiny.rstudio.com/
#
library(shiny)
library(leaflet)
library(dplyr)
data <- read.csv("CrimeStatistic.csv")
ui <- fluidPage(
titlePanel("NRW Kriminalitaet"),
sidebarLayout(
position = "left",
sidebarPanel(
selectInput(
inputId = "selectCrime",
label = h3("Verbrechen"),
choices = c(
"Einbruchdelikte",
"Wohnungseinbruchdiebstahl",
"Tageswohnungs-einbruchdiebstahl",
"Delikte der Straßenkriminalität",
"Vergewaltigung/sexuelle Nötigung/sexueller Übergriff (besonders schwere Fälle einschl. Todesfolge)",
"Raubüberfälle auf Straßen, Wegen oder Plätzen",
"Gefährliche und schwere Körperverletzung auf Straßen, Wegen oder Plätzen",
"Taschendiebstahl",
"Diebstahl von Fahrrädern",
"Gewaltkriminalität"
),
selected = "Einbruchdelikte"
),
selectInput(
inputId = "selectYear",
label = h3("Jahr"),
choices = c(
"Oktober 2019",
"September 2019",
"August 2019",
"Juli 2019",
"Juni 2019",
"Mai 2019",
"April 2019",
"März 2019",
"Februar 2019",
"Dezember 2018",
"November 2018",
"Oktober 2018",
"Oktober 2014"
),
selected = "Oktober 2019"
)
),
mainPanel(
leafletOutput(outputId = "mymap"),
verbatimTextOutput("summary")
)
)
)
server <- function(input, output, session) {
datasetInput <- reactive({
dplyr::filter(data,
Delikt == input$selectCrime & Monat == input$selectYear)
})
output$summary <- renderPrint({
dataset <- datasetInput()
dataset <- dplyr::select(dataset, bekanntgewordeneFaelle, davonVersuche, Aufklaerungsquote)
summary(dataset)
})
#Create map
output$mymap <- renderLeaflet({
dataset <- datasetInput()
leaflet(dataset) %>%
setView(lng = 7.661594,
lat = 51.433237,
zoom = 7) %>%
addTiles() %>%
addCircles(
data = dataset,
lat = ~ latitude,
lng = ~ longitude,
weight = 1,
radius = 1500,
color = 'blue',
label = ~as.character(paste0("Bekanntgewordene Faelle: ", bekanntgewordeneFaelle, ", davon Versuche: ", davonVersuche, ", Aufklaerungsquote: ", Aufklaerungsquote, "%", sep = " "))
)
})
}
shinyApp(ui = ui, server = server)