【问题标题】:Rename columns in Shiny dashboard datatable重命名闪亮仪表板数据表中的列
【发布时间】:2016-04-07 02:56:15
【问题描述】:

我的 Shiny 应用中有一个数据表。默认情况下,列名是数据集的列名。 我想更改显示的列名,而不触及数据集本身。

我发现 this 文档正是我需要的,但我不确定如何将其转换为 R 语法。

这是我呈现表格的当前方式:

output$score_data_table <- renderDataTable({
    selectedArea_overview_TC()}, 
    options = list(orderClasses = TRUE, 
                   lengthMenu = list(c(15,25,50,100,-1), c('15','25','50','100','All')),
                   pageLength = 15,
                   order=list(1, 'desc'))
)

我已尝试通过多种方式添加 columnDefs 选项,但均未奏效。

任何提示将不胜感激!

【问题讨论】:

  • ?renderDataTable 中有一个... 参数被传递给datatable()。在?datatable 的文档中,您可以找到您可能想要检查的rownamescolnames 参数。
  • 将其分配给新数据框并更改列名有什么问题?这样做的任何方式都可以归结为这样吗?

标签: jquery r datatables shiny shinydashboard


【解决方案1】:

您可以在 renderDataTable 中使用 colnames。比如:

  output$table1 <- DT::renderDataTable({
     datatable(messages(),
     colnames = c('Type', 'Message', 'Check', 'Entity',   'ID','File'), 
     options = list(pageLength = 50, autoWidth = TRUE,
     columnDefs = list(list(width = '800px', targets = c(2)))),filter='top')})  

【讨论】:

    【解决方案2】:

    我落入了同样的陷阱。您实际需要的文档是columns.title

    output$score_data_table <- renderDataTable({
      selectedArea_overview_TC()
      },
      options = list(orderClasses = TRUE,
                     lengthMenu = list(c(15,25,50,100,-1), c('15','25','50','100','All')),
                     pageLength = 15,
                     order=list(1, 'desc')
                     columns = list(
                       list(title = 'newnameforcol1'),
                       NULL, # skip column 2
                       list(title = 'newnameforcol3'),
                     )
      )
    )
    

    Title 也可以与 columnDefs 一起使用。我不确定。

    【讨论】:

      猜你喜欢
      • 2015-04-22
      • 1970-01-01
      • 1970-01-01
      • 2019-02-12
      • 2021-12-19
      • 2019-06-20
      • 2016-05-02
      • 1970-01-01
      • 2016-01-11
      相关资源
      最近更新 更多