Kies de gegevensbron (ui)
In de afgelopen paar oefeningen heb je 3 verschillende bronnen voor de wordcloud gebruikt: het boek Art of War, een tekstveld en een tekstbestand. Maar er werkte steeds maar één bron tegelijk. In deze oefening geef je de gebruiker een manier om te kiezen welke gegevensbron voor de wordcloud wordt gebruikt.
Deze oefening maakt deel uit van de cursus
Casestudies: webapplicaties bouwen met Shiny in R
Oefeninstructies
Je taak is om keuzerondjes toe te voegen aan de app waarmee de gebruiker kan kiezen of de woordbron het boek Art of War, het tekstgebied of een geüpload bestand moet zijn. Specifiek:
- Voeg een invoer met keuzerondjes toe met het label "Word source" die drie opties heeft:
- De waarden van de opties moeten "book", "own" en "file" zijn. De namen die aan de gebruiker worden getoond zijn respectievelijk "Art of War", "Use your own words" en "Upload a file".
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
ui <- fluidPage(
h1("Word Cloud"),
sidebarLayout(
sidebarPanel(
# Add radio buttons input
___(
inputId = "source",
label = ___,
choices = c(
# First choice is "book", with "Art of War" displaying
"Art of War" = "book",
# Second choice is "own", with "Use your own words" displaying
___ = "own",
# Third choice is "file", with "Upload a file" displaying
___ = ___
)
),
textAreaInput("text", "Enter text", rows = 7),
fileInput("file", "Select a file"),
numericInput("num", "Maximum number of words",
value = 100, min = 5),
colourInput("col", "Background color", value = "white")
),
mainPanel(
wordcloud2Output("cloud")
)
)
)
server <- function(input, output) {
input_file <- reactive({
if (is.null(input$file)) {
return("")
}
readLines(input$file$datapath)
})
output$cloud <- renderWordcloud2({
create_wordcloud(input_file(), num_words = input$num,
background = input$col)
})
}
shinyApp(ui = ui, server = server)