Блестящий: объединить ячейки в DT :: datatable

Я хотел бы объединить несколько строк в столбце в DT :: datatable в блестящем цвете. Возможно ли это сделать?

В настоящее время я могу выводить что-то вроде этого:

введите описание изображения здесь

Но в идеале я хотел бы объединить строки и вывести что-то вроде этого:

введите описание изображения здесь

Можно ли объединить такие строки в DT :: datatable?


person SBista    schedule 14.09.2016    source источник
comment
Согласно @yihue, вы не можете объединять ячейки в таблицах данных: github.com/rstudio/DT/issues/346   -  person Carl    schedule 14.09.2016


Ответы (2)


Это возможно с помощью библиотеки datatables-rowsgroup. Вот пример:

library(shiny)
library(DT)

dat <- iris[c(1,2,3,51,52,53,101,102,103), c(5,1,2,3,4)]

ui <- fluidPage(
  DTOutput("table")
)

server <- function(input, output){
  output[["table"]] <- renderDT({
    dtable <- datatable(dat, rownames = FALSE, 
                        options = list(
                          rowsGroup = list(0) # merge cells of column 1
                        ))
    path <- "U:/Data/shiny/DT/www" # folder containing dataTables.rowsGroup.js
    dep <- htmltools::htmlDependency(
      "RowsGroup", "2.0.0", 
      path, script = "dataTables.rowsGroup.js")
    dtable$dependencies <- c(dtable$dependencies, list(dep))
    dtable
  })
}

shinyApp(ui, server)

введите описание изображения здесь

person Stéphane Laurent    schedule 06.06.2019
comment
Отличное решение! Может быть, добавление этого плагина в библиотеку DT было бы отличной функцией или, может быть, создать совершенно новую библиотеку R для плагинов DT? - person SBista; 10.06.2019
comment
Как пользователь, не использующий Javascript, я не могу следовать вашему совету. Не могли бы вы пояснить, что мне нужно делать между переходом на страницу, на которую вы ссылаетесь, и включением кода, который вы предлагаете? - person Nibood_the_slightly_advanced; 20.09.2019
comment
Это было действительно полезно, хотя мне было интересно, можно ли настроить rowGroup, чтобы использовать два столбца для объединения повторяющихся ячеек? - person Beeba; 17.12.2019

эй, насколько я знаю, это невозможно сделать в DT, у меня есть другой способ сделать это.

 kable(c, align = "c") %>%
  kable_styling(bootstrap_options = "striped", full_width = F, position = "left",font_size = 12)%>%
  column_spec(1, bold = T) %>%
  collapse_rows(columns = 1, valign = "middle")

пожалуйста, попробуйте, и он работает :)

person Uttam Gogineni    schedule 23.05.2019