繁体   English   中英

R Shiny-app DT:使用大于的过滤器

[英]R shiny-app DT: apply filters using greater than

我正在使用 R 构建一个闪亮的应用程序,并且在应用程序中,我需要显示一个表,该表可以将过滤器应用于数字、字符和因子列。

我正在使用 DT 包,这是代码示例:

# packages
library(shiny)
library(DT)

# ui
ui <- fluidPage(
    br(),
    DT::dataTableOutput("my_iris")
)

# server
server <- function(input, output) {
    output$my_iris <- DT::renderDataTable({
        datatable(
            data = iris,
            filter = list(
                position = "top",
                clear = FALSE,
                plain = TRUE
            )
        )
    })
}

# Run the application 
shinyApp(ui = ui, server = server)

问题是我需要将过滤器应用于像“Sepal.Length > 5”这样的数字列,并且我无法仅使用在 DT 中实现的滚动条来实现这一点,因为如果我移动滚动条,那么应用的过滤器就像 [5 ,b] 而我只是想要一个像 (5,b) 这样的过滤器。

有没有一种简单的方法可以使用 R 和 DT 来实现?

编辑:我认为也许我的问题可以使用noUiSlider的选项来解决,即用于实现过滤器的 Javascript 库,但我不知道要修改哪些选项以及如何实现 DT 中的更改。

我知道这是旧帖子,但以防万一它对某人有帮助,我找到了一种方法。 它可能不是最好的解决方案,也不是@agila 试图找到的解决方案......但它就是这样。

library(shiny)
library(DT)
shinyApp(
    ui = fluidPage(
        fluidRow(
            column(12,
                   DTOutput('table')
            )
        )
    ),
    server = function(input, output) {
        output$table <- renderDT(iris,
                                 filter = "top",
                                 options = list(
                                     pageLength = 5
                                 )
        )
    }
)

在这里,您有一个范围可以根据要放置的过滤器选择数据。

图片

原始来源来自这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM