Выбор источника данных (ui)
В предыдущих упражнениях вы использовали три разных источника для облака слов: книгу «Искусство войны», текстовое поле и текстовый файл. Однако в каждый момент времени работал только один источник. В этом упражнении вы добавите пользователю возможность выбирать, какой источник данных использовать для создания облака слов.
Это упражнение является частью курса
Примеры использования: создание веб-приложений с Shiny в R
Инструкции к упражнению
Ваша задача — добавить в приложение переключатели, с помощью которых пользователь сможет выбрать источник слов: книгу «Искусство войны», текстовое поле или загруженный файл. А именно:
- Добавьте элемент с переключателями и подписью «Word source», содержащий три варианта:
- Значения вариантов должны быть
"book","own"и"file". Названия, отображаемые пользователю, — «Art of War», «Use your own words» и «Upload a file» соответственно.
- Значения вариантов должны быть
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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)