Scegli l'origine dei dati (ui)
Negli ultimi esercizi hai usato 3 origini diverse per la word cloud: il libro Art of War, un campo di testo e un file di testo. Tuttavia, solo una sorgente funzionava alla volta. In questo esercizio fornirai all'utente un modo per selezionare quale origine dati utilizzare per la word cloud.
Questo esercizio fa parte del corso
Casi di studio: creare applicazioni web con Shiny in R
Istruzioni dell'esercizio
Il tuo compito è aggiungere all'app dei pulsanti di scelta che permettano all'utente di selezionare se la fonte delle parole deve essere il libro Art of War, la textarea o un file caricato. In particolare:
- Aggiungi un input con pulsanti di scelta con l'etichetta "Word source" che abbia tre opzioni:
- I valori delle opzioni devono essere "book", "own" e "file". I nomi mostrati all'utente devono essere rispettivamente "Art of War", "Use your own words" e "Upload a file".
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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)