gpt4 book ai didi

r - 数据表 (DT) Shiny R - 选择所有找到的行

转载 作者:行者123 更新时间:2023-12-02 00:25:14 29 4
gpt4 key购买 nike

我有一个关于我在 Shiny 中使用的数据表 (DT) 的问题。我获得了相当大的数据(> 5000000 行),并且我使用带过滤器的数据表(DT)在 Shiny 的应用程序中显示它。根据用户对过滤的偏好,假设它为我们提供了 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: the indices of rows on the current page
input$tableId_rows_all: the indices of rows on all pages (after the table is filtered by the search strings)
From the DT documentation

我正在仪表板中使用 tableId_rows_all 来实现这一点,并且它正在工作。

关于r - 数据表 (DT) Shiny R - 选择所有找到的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35176746/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com