R 中保存到 HTML 时 DT 白色 space

DT white space when saving to HTML in R

我正在使用 DT 构建一个 HTML table 我一直有这个巨大的白色 space 并且似乎无法理清如何获得加强页面的列。另外要注意的是,在设置 scrollX = TRUE.

时,我的左列修复似乎没有修复

这是一个例子:

library(tidyverse)
library(DT)

iris %>%
  group_by(Species) %>%
  mutate(across(.cols = c(2:4),
                list(avg = mean, SD = sd))) %>%
  relocate(Species, before = "Sepal.Length") %>%
  datatable(filter = 'top',
            options = list(pageLength = 100,
                          autoWidth = TRUE,
                          scrollY = "800px",
                          scrollX= TRUE,
                          fixedColumns = list(leftColumns = 0)))

原因不是因为数据table本身,而是因为 RStudio 保存文件的方式。

您可以阅读有关 sizingPolicy 的信息,RStudio 在此处解释它:https://github.com/rstudio/rstudio/blob/master/src/cpp/session/modules/NotebookHtmlWidgets.R

我发现解决此问题的最佳方法是将 table 设置为一个对象并更改该对象。我无法通过数据table的结构找到我要找的东西。

这个方法对我有用:

# Your code, but assigned to d
library(tidyverse)
library(DT)

d <- iris %>%
  group_by(Species) %>%
  mutate(across(.cols = c(2:4),
                list(avg = mean, SD = sd))) %>%
  relocate(Species, before = "Sepal.Length") %>%
  datatable(filter = 'top',
            elementId = "dt",
            options = list(pageLength = 100,
                           autoWidth = TRUE,
                           scrollY = "800px",
                           scrollX= TRUE,
                           fixedColumns = list(leftColumns = 0)))

这会将 table 设置为与您的浏览器 window 一样宽,并在您更改浏览器 window 大小时动态调整。

d$sizingPolicy$browser$defaultWidth = "100%"