R Shiny 应用程序 - 使用双 header 渲染数据 Table

R Shiny app - Render Data Table with double header

我有以下 table:

df <- data.frame(MUSIC_TYPE=c("Pop","Rock","Blues"),A=c(200,80,98),B=c(100,217,70),Cc(80,120,200))
colnames(df) <- c("MUSIC_TYPE","70s","80s","90s")

我需要将此(简化)table 显示为渲染数据 Table。 默认情况下 header 将是每一列的名称,这没关系。 但是,我需要第一个额外的 header 来显示以下“VINTAGE”。 我附上截图来说明我的意思。

我阅读并看到了这个示例 https://rstudio.github.io/DT/ 但老实说,我不明白如何将它应用到我的案例中。在该示例中,所有列都包含单词“Length”和“Width”。就我而言,有没有更简单的方法来简单地添加一行 header? 这是我目前所拥有的:

df <- datatable(df, 
                  filter = 'none',
                  rownames= FALSE,
                  options = list(scrollX = F
                                 #, dom = 'ft'
                                 , lengthChange = T
                                 , pagingType = "numbers"  # this hides the Next and Previous buttons -->  https://datatables.net/reference/option/pagingType
                                 , autoWidth = T
                                 , pageLength = 5 # this determines how many rows we want to see per page
                                 , info = FALSE #  this will hide the "Showing 1 of 2..." at the bottom of the table -->  
                                 ,searching = FALSE  # this removes the search box  ->  
                  ))

改编提供的示例:

# a custom table container
sketch = htmltools::withTags(table(
  class = 'display',
  thead(
    tr(
      th(colspan = 1, ''),
      th(colspan = 3, 'Vintage')
    ),
    tr(
      lapply(colnames(df), th)
    )
  )
))

DT::datatable(df, container = sketch, ...