从R中的多个散点图选择生成多个表

从R中的多个散点图选择生成多个表,r,shiny,shinydashboard,R,Shiny,Shinydashboard,我在闪亮的dashbaord中有一个散点图,希望通过选择/突出显示散点图的不同区域来生成两个不同的表。我目前可以通过选择/突出显示一个区域来生成一个表,但是我不确定如何使这两个表/选择都可以(或者如果可能的话) 任何帮助或建议都将不胜感激。谢谢 下面提供了生成带有散点图的闪亮仪表板并高亮显示/生成单个表的示例代码(摘自) 更详细的信息:理想情况下,此过程可以通过在某些点上手动选择/拖动区域,生成第一个表,然后在不同的点子集上手动选择/拖动区域并生成第二个表来实现。在此之后,如果选择了另一个区域,

我在闪亮的dashbaord中有一个散点图,希望通过选择/突出显示散点图的不同区域来生成两个不同的表。我目前可以通过选择/突出显示一个区域来生成一个表,但是我不确定如何使这两个表/选择都可以(或者如果可能的话)

任何帮助或建议都将不胜感激。谢谢

下面提供了生成带有散点图的闪亮仪表板并高亮显示/生成单个表的示例代码(摘自)

更详细的信息:理想情况下,此过程可以通过在某些点上手动选择/拖动区域,生成第一个表,然后在不同的点子集上手动选择/拖动区域并生成第二个表来实现。在此之后,如果选择了另一个区域,它将重置第一个选择和表格,然后下一个选择将重置第二个选择和表格

ui <- fluidPage(

  plotOutput("plot", brush = "plot_brush"),
  tableOutput("data")
)
server <- function(input, output, session) {
  output$plot <- renderPlot({
    ggplot(mtcars, aes(wt, mpg)) + geom_point()
  }, res = 96)
  
  output$data <- renderTable({
    brushedPoints(mtcars, input$plot_brush)
  })
}
shinyApp(ui=ui, server=server)

ui也许这会有帮助。您可以跟踪
reactiveValues
中的哪个表(1或2)以及每个表的数据。让我知道这是否是你的想法。如果您想在绘图中保留以前的选择,我认为您可能需要手动放置一个矩形。允许多个拉丝点选择是一个未决问题(增强)。或者,您可以基于为每个表标记点

库(闪亮)

非常感谢你!这正是我想要的。很好的解决方案。你太棒了!:)
library(shiny)

ui <- fluidPage(
  plotOutput("plot", brush = "plot_brush"),
  h2("Table 1"),
  tableOutput("data1"),
  h2("Table 2"),
  tableOutput("data2")
)

server <- function(input, output, session) {
  
  rv <- reactiveValues(table = 1,
                       data1 = NULL,
                       data2 = NULL)
  
  output$plot <- renderPlot({
    ggplot(mtcars, aes(wt, mpg)) + geom_point()
  }, res = 96)
  
  my_data <- eventReactive(input$plot_brush, {
    if (rv$table == 1) {
      rv$table <- 2
      rv$data1 <- input$plot_brush
    } else {
      rv$table <- 1
      rv$data2 <- input$plot_brush
    }
    return(rv)
  })
  
  output$data1 <- renderTable({
    brushedPoints(mtcars, my_data()$data1)
  })
  
  output$data2 <- renderTable({
    brushedPoints(mtcars, my_data()$data2)
  })
  
}

shinyApp(ui=ui, server=server)