-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.R
78 lines (50 loc) · 1.74 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
# Load packages ----
library(shiny)
library(dplyr)
# Load data ----
thunderstruck <- readRDS("data/thunderstruck.rds")
# Source helper functions ----
source("helpers.R")
# User interface ----
ui <- fluidPage(
titlePanel("Drink Time Estimator"),
sidebarLayout(
sidebarPanel(
helpText('Estimating drinking time for the "Thunderstruck"
drinking game based on starting position.'),
selectInput("d",
label = "Choose the song you want to estimate",
choices = list("AD/CD - Thunderstruck",
"placeholder"),
selected = "AD/CD - Thunderstruck"),
sliderInput("p",
label = "Number of Participants:",
min = 1, max = 20, value = 5),
radioButtons("s",
label = "First participant starts:",
choices = list("Beginning of song",
"from first keyword"),
selected = "Beginning of song")
),
mainPanel(
tableOutput("drink_time")
)
)
)
# Server logic
server <- function(input, output, session) {
output$drink_time <- renderTable({
start <- switch(input$s,
"Beginning of song" = 0,
"from first keyword" = 1
)
data <- switch(input$d,
"AD/CD - Thunderstruck" = thunderstruck,
"placeholder" = thunderstruck
)
participants <- input$p
drink.time(data,participants,start)
})
}
# Run app ----
shinyApp(ui, server)