BaşlayınÜcretsiz başlayın

Veri kaynağını seç (ui)

Son birkaç egzersizde, kelime bulutu için 3 farklı kaynak kullandın: Savaş Sanatı kitabı, bir metin alanı ve bir metin dosyası. Ancak, her seferinde yalnızca bir kaynak çalışıyordu. Bu egzersizde, kullanıcıya kelime bulutu için hangi veri kaynağını kullanacağını seçmenin bir yolunu sunacaksın.

Bu egzersiz, kursun bir parçasıdır

Vaka Çalışmaları: R ile Shiny Kullanarak Web Uygulamaları Geliştirme

Kursa Göz Atın

Egzersiz talimatları

Görevin, uygulamaya radyo düğmeleri ekleyerek kelime kaynağının Savaş Sanatı kitabı, metin alanı ya da yüklenen bir dosya olmasını kullanıcının seçmesini sağlamak. Özellikle:

  • "Word source" etiketine sahip, üç seçeneği olan bir radyo düğmesi girişi ekle:
    • Seçeneklerin değerleri sırasıyla "book", "own" ve "file" olmalı. Kullanıcıya gösterilecek adlar ise sırasıyla "Art of War", "Use your own words" ve "Upload a file" olmalı.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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)
Kodu Düzenle ve Çalıştır