Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用筛选选项从数据表中选择行:RShiny_Shiny - Fatal编程技术网

使用筛选选项从数据表中选择行:RShiny

使用筛选选项从数据表中选择行:RShiny,shiny,Shiny,我有一个启用了筛选器的数据表,我想从该数据表中读取选定的行 如果未应用筛选器,则输入$table_rows_selected可以正常工作,但一旦对数据应用筛选器,则不会返回正确的行索引 ui <- function(id) { fluidPage( title = "Job Tracker", fluidRow( column(width=6, selectInput("pickvalue", label = "Pick a Va

我有一个启用了筛选器的数据表,我想从该数据表中读取选定的行

如果未应用筛选器,则输入$table_rows_selected可以正常工作,但一旦对数据应用筛选器,则不会返回正确的行索引

ui <- function(id) {
  fluidPage(
    title = "Job Tracker",

    fluidRow(
      column(width=6,
             selectInput("pickvalue", label = "Pick a Value", choices = unique(iris$Species))
      )
    ),

    br(),
    fluidRow(
      column(12,
             DT::dataTableOutput("job_data")

      )

    ),
    br(),
    fluidRow(
      column(12,DT::dataTableOutput("x4"))
    )
  )

}

server <- function(input, output, session)
{
      output$job_data  <- DT::renderDataTable({
      datatable(iris[iris$Species==input$pickvalue,],selection = "single")
      })

    output$x4 <- DT::renderDataTable({
      s <- input$job_data_rows_selected
      datatable(iris[s,])
    })

}

ui要返回以前选择的行索引,您可以添加一些
reactiveValues
这样跟踪索引,请注意索引受数据的影响,因此如果您选择index=4并切换数据,索引=4将应用于新数据:

library(shiny)
library(DT)
ui <- function(id) {
  fluidPage(
    title = "Job Tracker",

    fluidRow(
      column(width=6,
             selectInput("pickvalue", label = "Pick a Value", choices = unique(iris$Species))
      )
    ),

    br(),
    fluidRow(
      column(12,
             DT::dataTableOutput("job_data")

      )

    ),
    br(),
    fluidRow(
      column(12,DT::dataTableOutput("x4"))
    )
  )

}

server <- function(input, output, session){
  v <- reactiveValues()
  v$s <- NULL

  data <- reactive({
    iris[iris$Species==input$pickvalue,]
  })

  output$job_data  <- DT::renderDataTable({
    datatable(data(),selection = "single")
  })

  observe({
    if(!is.null(input$job_data_rows_selected)){
      v$s <- input$job_data_rows_selected
    }
  })

  output$x4 <- DT::renderDataTable({
    datatable(data()[v$s,])
  })
}
shinyApp(ui, server)
库(闪亮)
图书馆(DT)

谢谢你的回复。我的问题是,当我更改种类,然后选择任何行时,例如,选择了行索引编号15,但选择的行返回的是行的顺序编号,而不是实际行索引,即,如果选择的行是从顶部算起的第4行,则返回4,而不是15查看编辑,您需要将行名设置为空谢谢您,这真的很有帮助。@AwaisHassan
 data <- reactive({
    data <- (iris[iris$Species==input$pickvalue,])
    rownames(data) <- NULL
    data
  })