在R DT datatable

时间:2017-08-04 14:34:52

标签: r shiny dt

我正在使用R DT包制作数据表。我希望用户能够决定/控制是否查看数据中的24,48,72,96或所有行。

这可以通过设置:

轻松完成
lengthMenu = c(24,48, 72, 96, -1),
选项列表中的

,其中-1代表所有条目。

问题是用户可能不知道-1代表什么,因此我想让它显示为用户可见的菜单中的字符串“All”。

通过查看documentation for lengthMenu,我发现可以通过编写

来完成
$('#example').dataTable( {
"lengthMenu": [ [10, 25, 50, -1], [10, 25, 50, "All"] ]
} );

但我不知道如何将其翻译成R语言。 我已经尝试使用命名列表,向量和数组,但都没有成功。

下面是一个简单的例子:

library(shiny)
library(DT)

ui <- fluidPage(
  DT::dataTableOutput("table")
)

server <- function(input, output) {
  output$table <- DT::renderDataTable({
    DT::datatable(iris, options = list(pageLength = 24, 
                  lengthMenu = c(24,48, 72, 96, -1), paging = T))
  })
}

shinyApp(ui, server) 

任何帮助将不胜感激!

由于

1 个答案:

答案 0 :(得分:1)

这应该做。有关详细信息,请访问shiny-examples/018-datatable-options/

library(shiny)
library(DT)

ui <- fluidPage(
  DT::dataTableOutput("table")
)

server <- function(input, output) {
  output$table <- DT::renderDataTable({
    DT::datatable(iris, options = list(pageLength = 24,lengthMenu = list(c(24,48, 72, 96, -1), list('24', '48', '72','96', 'All')), paging = T))
  })
}

shinyApp(ui, server)