Đầu vào và đầu ra

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

Đầu vào

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

Đầu vào

chapter1_2_inputs_and_outputs.005.png

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

Đầu vào

chapter1_2_inputs_and_outputs.006.png

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

Tạo đầu vào

ui <- fluidPage(
    textInput(inputId = "name", label = "Enter your name",
              value = "Dean"),
    numericInput(inputId = "sibs", label = "How many siblings?",
                 value = 4, min = 0)
)
  • Hàm nhập: *Input(inputId, label, ...)
  • inputId = ID duy nhất
  • label = Nhãn mô tả đầu vào
  • ... = Tham số bổ sung theo loại đầu vào
Nghiên cứu tình huống: Xây dựng ứng dụng web với Shiny trong R

Đầu ra

  • Biểu đồ, bảng, văn bản - mọi thứ R tạo và người dùng thấy
  • Hai bước:

    1. Tạo chỗ trống cho đầu ra (trong UI)

      ui <- fluidPage(
       "Plot goes here:",
       plotOutput(outputId = "my_plot")
      )
      
    2. Viết mã R để sinh đầu ra (trong server)

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

Server

server <- function(input, output) {

  # Code for building outputs

}
  • input
    • Đọc giá trị từ đây (đầu vào người dùng chỉnh)
  • output
    • Ghi giá trị vào đây (đầu ra như biểu đồ, bảng)
Nghiên cứu tình huống: Xây dựng ứng dụng web với Shiny trong R

Tạo đầu ra

ui <- fluidPage(
    numericInput("num", "Number of rows", value = 10, min = 0),
    tableOutput("my_table")
)

server <- function(input, output) { output$my_table <- renderTable({ head(iris, n = input$num) }) }
  • 3 quy tắc để tạo đối tượng đầu ra:
    1. Tạo trong hàm render (renderPlot(), renderText(), ...)
    2. Lưu vào output$<outputId>
    3. Dùng input$<inputId> để lấy giá trị đầu vào
Nghiên cứu tình huống: Xây dựng ứng dụng web với Shiny trong R

Ayo berlatih!

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...