Kết hợp tất cả nguồn từ

Nghiên cứu tình huống: Xây dựng ứng dụng web với Shiny trong R

Dean Attali

Shiny Consultant

Kết hợp tất cả nguồn từ

  • 3 nguồn dữ liệu cho đám mây từ

    • Đối tượng văn bản: artofwar
    • Văn bản người dùng: textAreaInput()
    • Tệp văn bản: fileInput()
  • Bước tiếp theo: cho phép dùng cùng lúc

    • Nút radio để chọn nguồn từ

Nghiên cứu tình huống: Xây dựng ứng dụng web với Shiny trong R

Nút radio - ôn tập

radioButtons(
    "time_of_day", "Chọn thời điểm trong ngày ưa thích",
    choices = c("Sáng", "Chiều", "Tối"),
    selected = "Chiều"
)

Nghiên cứu tình huống: Xây dựng ứng dụng web với Shiny trong R

Nút radio - nâng cao

radioButtons(
    "time_of_day", "Chọn thời điểm trong ngày ưa thích",
    choices = c("Tôi là người dậy sớm!" = "Morning",
                "Tôi thích buổi chiều"   = "Afternoon",
                "Cú đêm đây!"            = "Evening"),
    selected = "Afternoon"
)

str(input$time_of_day)
chr "Afternoon"
Nghiên cứu tình huống: Xây dựng ứng dụng web với Shiny trong R

Bảng điều kiện (conditional panel)

  • Hiện/ẩn thành phần UI theo giá trị đầu vào
conditionalPanel(condition, ...)
  • condition giống mã R, nhưng input$<id> đổi thành input.<id>
  • ... là bất kỳ UI nào
Nghiên cứu tình huống: Xây dựng ứng dụng web với Shiny trong R

Bảng điều kiện (conditional panel)

ui <- fluidPage(
  radioButtons("time_of_day",
               "Chọn thời điểm trong ngày ưa thích",
               ...),

  plotOutput("morning_only_plot")
)
ui <- fluidPage(
  radioButtons("time_of_day",
               "Chọn thời điểm trong ngày ưa thích",
               ...),

  conditionalPanel(
    condition = "input.time_of_day == 'Morning'",
    plotOutput("morning_only_plot")
  )
)
Nghiên cứu tình huống: Xây dựng ứng dụng web với Shiny trong R

Hãy thực hành!

Nghiên cứu tình huống: Xây dựng ứng dụng web với Shiny trong R

Preparing Video For Download...