R 基于数据框中的多个数据表单元格选择存储值

R 基于数据框中的多个数据表单元格选择存储值,r,shiny,dt,R,Shiny,Dt,我有一个闪亮的应用程序,有两个数据表。第一个允许多个单元格选择,而第二个允许单个单元格选择。每个单元格值都应存储在list\u all()中,然后显示为新表。问题是从第一个表中只存储最后一个单元格选择,而不是每个选择 library(shiny) library(DT) data("mtcars") ui <- shinyUI( fluidRow( DT::dataTableOutput("myDatatable"), DT::dataTableOutput("myD

我有一个闪亮的应用程序,有两个数据表。第一个允许多个单元格选择,而第二个允许单个单元格选择。每个单元格值都应存储在
list\u all()
中,然后显示为新表。问题是从第一个表中只存储最后一个单元格选择,而不是每个选择

library(shiny)
library(DT)
data("mtcars")

ui <- shinyUI(
  fluidRow(
    DT::dataTableOutput("myDatatable"),
    DT::dataTableOutput("myDatatable2"),
    DT::dataTableOutput("myDatatable3")

  )

)

server <- shinyServer(function(input, output, session) {
  output$myDatatable <- DT::renderDataTable(matrix(iris[,5]), 
                                            selection=list( target="cell"),
                                            server = FALSE,
                                            rownames=FALSE)
  output$myDatatable2 <- DT::renderDataTable(matrix(iris[c(25,78,67,45,90,66,78,9,8),5]), 
                                             selection=list(mode="single", target="cell"),
                                             server = FALSE,
                                             rownames=FALSE)
  list_all <- reactive({
    x <- c(input$myDatatable_cell_clicked$value, input$myDatatable2_cell_clicked$value)

  })

  output$myDatatable3 <- DT::renderDataTable(matrix(list_all()) 
                                             )
})

shinyApp(ui, server)
库(闪亮)
图书馆(DT)
数据(“mtcars”)
像这样的东西

library(shiny)
library(DT)
data("mtcars")

ui <- shinyUI(
  fluidRow(
    DTOutput("myDatatable"),
    DTOutput("myDatatable2"),
    DTOutput("myDatatable3")
  )
)

server <- function(input, output, session) {
  output$myDatatable <- renderDT(matrix(iris[,5]), 
                                 selection=list( target="cell"),
                                 server = FALSE,
                                 rownames=FALSE)
  output$myDatatable2 <- renderDT(matrix(iris[c(25,78,67,45,90,66,78,9,8),5]), 
                                  selection=list(mode="single", target="cell"),
                                  server = FALSE,
                                  rownames=FALSE)

  list_all <- reactiveVal(character())
  observeEvent(input$myDatatable_cell_clicked, {
    list_all(append(list_all(), input$myDatatable_cell_clicked$value))
  })
  observeEvent(input$myDatatable2_cell_clicked, {
    list_all(append(list_all(), input$myDatatable2_cell_clicked$value))
  })

  output$myDatatable3 <- renderDT(matrix(list_all()))
}

shinyApp(ui, server)
库(闪亮)
图书馆(DT)
数据(“mtcars”)
用户界面