Phản ứng 101

Xây dựng ứng dụng web với Shiny trong R

Ramnath Vaidyanathan

VP of Product Research

Ứng dụng nơi người dùng nhập tên và nhận lời chào cá nhân hóa

Xây dựng ứng dụng web với Shiny trong R

Nguồn phản ứng

Dữ liệu đầu vào từ trình duyệt, thường là

ui <- fluidPage(
  titlePanel('Greeting'),

textInput('name', 'Enter Name')
) server <- function(input, output, session){ } shinyApp(ui = ui, server = server)
Xây dựng ứng dụng web với Shiny trong R

Điểm cuối phản ứng

Đầu ra hiển thị trong trình duyệt, như biểu đồ hoặc bảng giá trị `r

ui <- fluidPage( titlePanel('Greeting'), textInput('name', 'Enter Name'), textOutput('greeting') )


----CODE_GLUE----
```r
server <- function(input, output, session){

output$greeting <- renderText({ paste("Hello", input$name) })
}
Xây dựng ứng dụng web với Shiny trong R

Bộ dẫn phản ứng

Trung gian phụ thuộc vào nguồn phản ứng và/hoặc cập nhật điểm cuối phản ứng.

server <- function(input, output, session){
  output$plot_trendy_names <- plotly::renderPlotly({
    babynames %>% 
      filter(name == input$name) %>%
      ggplot(val_bnames, aes(x = year, y = n)) +
      geom_col() 
  })
  output$table_trendy_names <- DT::renderDT({
     babynames %>% 
      filter(name == input$name)
  })
}
Xây dựng ứng dụng web với Shiny trong R

Biểu thức phản ứng

Biểu thức phản ứng là lười và có bộ đệm (cache).

server <- function(input, output, session){
  rval_babynames <- reactive({
    babynames %>% 
      filter(name == input$name)
  })
  output$plot_trendy_names <- plotly::renderPlotly({
     rval_babynames() %>%
      ggplot(val_bnames, aes(x = year, y = n)) +
      geom_col() 
  })
  output$table_trendy_names <- DT::renderDT({
     rval_babynames()
  })
}
Xây dựng ứng dụng web với Shiny trong R

Ayo berlatih!

Xây dựng ứng dụng web với Shiny trong R

Preparing Video For Download...