如何生成带有RMarkdown中标题的分页表?

如何生成带有RMarkdown中标题的分页表?,r,r-markdown,kable,R,R Markdown,Kable,我有一个data.frame,我想以格式化的方式在RMarkdown文档(HTML输出)中打印它。我需要3个功能,但我无法同时获得: 它需要在顶部有一个标题或标题来解释它是什么 因为它可能很长,我希望它可以滚动或分页 标题和列标题应始终在顶部可见,即使在滚动或分页表格时也是如此 我可以使用kableExtra轻松滚动标题: library(kableExtra) cars %>% kable(caption = 'Cars') %>% kable_styling(b

我有一个
data.frame
,我想以格式化的方式在RMarkdown文档(HTML输出)中打印它。我需要3个功能,但我无法同时获得:

  • 它需要在顶部有一个标题或标题来解释它是什么
  • 因为它可能很长,我希望它可以滚动或分页
  • 标题和列标题应始终在顶部可见,即使在滚动或分页表格时也是如此

  • 我可以使用
    kableExtra
    轻松滚动标题:

    library(kableExtra)
    cars %>%
        kable(caption = 'Cars') %>%
        kable_styling(bootstrap_options = c('striped', 'condensed')) %>%
        scroll_box(width = "500px", height = "200px")
    
    但当我向下滚动时,标题和列标题也会滚动,很难看到每一列是什么


    通过向YAML标题添加
    df_print:paged
    ,我可以从默认打印行为中获得非常好看的分页输出(请参阅):

    ---
    title: "Motor Trend Car Road Tests"
    output:
      html_document:
        df_print: paged
    ---
    
    ```{r}
    cars
    ```
    

    但是,据我所知,没有办法在上面加上标题或说明。我可以使用markdown添加一个标题,但是生成表的代码会卡在标题和表之间。我还缺少其他选项吗?

    我建议尝试
    DT::datatable
    ,它可以在html输出中生成高度可配置的表

    下面的代码将创建一个带有固定标题的可滚动表

    DT::datatable(mtcars, 
             extensions = c('FixedColumns',"FixedHeader"),
              options = list(scrollX = TRUE, 
                             paging=FALSE,
                             fixedHeader=TRUE))
    

    这就是我最终采用的解决方案。有趣的是,我在《闪亮》中使用了很多
    DT
    ,但没有想到使用它。