我正在寻找在 R 中使用 DT 制作多级行分组表的方法
根据Datatables的文档(https://datatables.net/extensions/rowgroup/examples/initialization/multipleGroups.html),我尝试了多级行分组。但没成功
这是我的示例代码
datatable(render_df,
class = 'cell-border stripe',
container = container,
rownames = F,
extensions = 'RowGroup',
options = list(searching=FALSE,
lengthChange = FALSE,
info = F,
ordering=F,
paging=F,
rowGroup = list(dataSrc=c(1,0)),
columnDefs = list(list(visible=FALSE, targets=c(0, 1)),
list(className = 'dt-body-left',
targets = seq(2)),
list(className = 'dt-body-right',
targets = seq(3:18)),
list(width = '10%',
targets = 2),
list(width = col.width,
targets = c(3:col.cnt))
),
pageLength = 20))
这段代码的结果只是“无组”
有人尝试过这种多级行分组吗?
亲切的问候。
幸运的是我自己解决了这个问题:)。
对于想要使用此功能的人,我分享我的解决方案。
我比较了官方服务和 R DT 包之间的数据表扩展。我发现R DT的RowGroup版本相当旧,所以我下载了最新版本的Rowgroup扩展(https://datatables.net/download/index,仅检查了RowGroup)并更改了R/win-library/中的RowGroup扩展文件3.6/DT/htmlwidgets/lib/datatables(也许这会根据您的设置和操作系统而改变。)通过下载的文件。
我没有检查任何其他可能的错误或错误,但上面的代码可以正常工作。
对于任何想知道这一点的人来说,实际上可以使用当前的 DT 版本(0.30)进行多行分组。不知道从什么时候开始实施的。
与文档中的示例类似:
mtcars2 = mtcars[1:20, ]
DT::datatable(
mtcars2[order(mtcars2$cyl), ],
extensions = 'RowGroup',
options = list(rowGroup = list(dataSrc = c(10,2))),
selection = 'none'
)