我正在尝试在HTML输出中包括一个垂直可滚动的表格。桌子看起来很漂亮,但是我想将标题固定在顶部(现在它像其他所有东西一样向上滚动)。加号功能还可以过滤列或与列进行交互(例如排序)。
我尝试同时使用kable()+ kableExtra()和DT()。我的理解是,使用DT会更容易,但是我发现文档非常混乱。
我正在做这样的事情:
library(datasets)
library(knitr)
library(kableExtra)
library(DT)
data(iris)
# with kable
kable(iris, "html") %>%
kable_styling(bootstrap_options = c("striped", "hover", "responsive"),
full_width = F) %>%
scroll_box(width = "100%", height = "400px")
# with DT
datatable(showData, options = list("scrollY"))
我真的找不到在顶部固定标题或添加过滤器的方法。有提示吗?
谢谢!
答案 0 :(得分:0)
您可以将自定义CSS与kable结合使用,以创建具有固定标题的可滚动表格主体。
例如,在项目目录中创建具有以下内容的文件 styles.css :
.table-fixed-header tbody{
display:block;
overflow:auto;
height:400px;
width:100%;
}
.table-fixed-header thead tr{
display:table-header-group;
height:100%;
}
在.Rmd文档的YAML中,请参考styles.css:
output:
html_document:
css: styles.css
在R代码块中,将样式名称传递给kable()函数
kable(iris, escape = F, table.attr='class="table-fixed-header"') %>%
kable_styling()