MulaiMulai sekarang secara gratis

Pilih sumber data (ui)

Dalam beberapa latihan terakhir, Anda telah menggunakan 3 sumber berbeda untuk word cloud: buku Art of War, kolom teks, dan berkas teks. Namun, hanya satu sumber yang aktif pada satu waktu. Dalam latihan ini, Anda akan menyediakan cara bagi pengguna untuk memilih sumber data mana yang akan digunakan untuk word cloud.

Latihan ini adalah bagian dari kursus

Studi Kasus: Membangun Aplikasi Web dengan Shiny di R

Lihat Kursus

Petunjuk latihan

Tugas Anda adalah menambahkan tombol radio ke aplikasi yang memungkinkan pengguna memilih apakah sumber kata berasal dari buku Art of War, textarea, atau berkas yang diunggah. Secara khusus:

  • Tambahkan input tombol radio dengan label "Word source" yang memiliki tiga pilihan:
    • Nilai dari pilihan harus "book", "own", dan "file". Nama yang ditampilkan kepada pengguna masing-masing harus "Art of War", "Use your own words", dan "Upload a file".

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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)
Edit dan Jalankan Kode