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

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

kursunun bir parçasıdır
Kursu Görüntüle

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ı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

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