簡體   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