根据另一个数据表的单元格选择对数据表进行分组

时间:2019-10-29 22:24:13

标签: r shiny dt

我有一个带有3个数据表的闪亮应用程序。第一个仅包含带有Species的第五行,第二个表包含一些随机的Species,第三个表应从前两个表中获取选定的单元格并将它们合并成一个新表。虽然第一个表似乎运行良好,但第二个表选择似乎是错误的,这是因为它是按单元格位置而不是按单元格值子集的。

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)
  output$myDatatable3 <- DT::renderDataTable(iris[c(input$myDatatable_cells_selected,input$myDatatable2_cells_selected),], 
                                             server = FALSE,
                                             rownames=FALSE)
})

shinyApp(ui, server)

1 个答案:

答案 0 :(得分:2)

请参见下面的代码。您正在尝试对数据进行子集化,而不是创建一个新的数据框(从上面听起来像您想要的)+您想使用具有[tablename]_cell_clickedrow,{{1 }}列表与column

value

**根据OP的说明进行了更新

[tablename]_cells_selected