如何存储和显示闪亮的顺序数据变化?

时间:2018-07-26 08:36:29

标签: r shiny

以下代码是我原始问题的简单版本。该代码应按顺序执行以下步骤:

  
      
  1. 该表格将显示整个“ mtcars”
  2.   
  3. 每次单击“一半”按钮时,它应显示以前数据的一半
  4.   
  5. 每次点击Double(双击)按钮时,它应该显示先前数据的Double
  6.   

“半”按钮在这里起作用,而双按钮仅在第一次起作用。 请帮忙。

library(shiny)
library(DT)
ui <- fluidPage(tabsetPanel(
  tabPanel("Table",
           actionButton("Half","Click for Half"),
           actionButton("Double","Click for Double"),
           DTOutput("tbl")
  )
))

server = function(input, output, session){
  mt_lst <- list(mtcars)


  data <- reactiveValues(
    tbl = mt_lst[[1]]
  )

  tbl <- eventReactive(T,data$tbl)

  observeEvent(input$Half,{

    mt_lst[[length(mt_lst) + 1]] <<- data$tbl[1:(round(nrow(data$tbl)/2)),]
    data$tbl <- mt_lst[[length(mt_lst)]]
  })

  observeEvent(input$Double,{
    data$tbl <-  mt_lst[[length(mt_lst) - 1]]
  })


  output$tbl <- renderDT(data$tbl)

}

shinyApp(ui = ui, server = server)

0 个答案:

没有答案