簡體   English   中英

數據表(DT)閃亮R-選擇所有找到的行

[英]Datatable (DT) Shiny R - select all found rows

我有一個關於在Shiny中使用的數據表(DT)的問題。 我有相當大的數據(> 5000000行),並使用帶有過濾器的數據表(DT)在閃亮的應用程序中顯示它。 根據用戶對過濾的偏好,讓我們假設它可以給我們550行(但可以給我們更多或更少的行)。 由於分頁,我無法看到所有550行(假設pageLength為100),甚至更糟的是,由於函數input$tabelle_rows_all使用當前頁面上的行,因此我無法在圖表中進一步顯示所有過濾的行(我必須先更改條目號)。 有什么方法可以在過濾數據表后獲取所有找到的行 (不依賴於pageLength )?

例:

library(shiny)
library(DT)
library(ggplot2)

x <- as.numeric(1:1000000)
y <- as.numeric(1:1000000)
data <- data.frame(x,y)

shinyApp(
  ui = fluidPage(dataTableOutput('tableId'),
                 plotOutput('plot1')),
  server = function(input, output) {    
    output$tableId = renderDataTable({
      datatable(data, options = list(pageLength = 100, lengthMenu=c(100,200,300,400,500,600)))
    })
    output$plot1 = renderPlot({
      filtered_data <- data[input$tableId_rows_all, ]
      ggplot(data=filtered_data, aes(x=x,y=y)) + geom_line()
    })
  }
)

感謝您的任何信息

您確定它已經不起作用了嗎? 從0.0.65版本開始,您應該具有以下功能:

input $ tableId_rows_current:當前頁面上的行的索引
input $ tableId_rows_all:所有頁面上的行的索引(在表被搜索字符串過濾之后)
從DT文檔

我正在儀表板中使用tableId_rows_all來解決這個問題,它正在工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM