Как реализовать опцию DataTables в синтаксисе Shiny R?

#r #shiny #datatables #dt #datatables-1.10

#r #блестящий #datatables #dt #datatables-1.10

Вопрос:

Я пытаюсь добавить опцию для DataTable в Shiny, используя некоторые из расширенных опций, которые можно найти в таблицах данных.

Я хочу реализовать опцию SearchBuilder.columns, чтобы окно поиска могло выполнять поиск только в столбце «id» https://datatables.net/reference/option/searchBuilder.columns

Как реализовать эту опцию в R Shiny? Каков синтаксис?

Приведенный ниже код не сработал.

 output$table_pred <- DT::renderDataTable(df, options = list(pageLength =5), searchBuilder.columns = df$id)
  

Вот полный код:

 library(shinythemes)
library(shiny)
library(DT)

setwd("c:/Desktop/datasets/")

df <- read.csv("prediction_data.csv")

df2 <- read.csv("test_data.csv")



ui <- fluidPage(

  fluidRow(
    column(12,
           dataTableOutput('table_pred')
    )
  ),
  fluidRow(
    column(12,
           dataTableOutput('table_test')
    )
  )
  
)


server <- function(input, output, session) {
  #rendering the datatable for rediction data

  output$table_pred <- DT::renderDataTable(df, options = list(pageLength =5), searchBuilder.columns = df$id)
  
  output$table_test <- DT::renderDataTable(df2,options = list(pageLength =10))
  
}

shinyApp(ui, server)
  

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

Ответ №1:

Потрясающее расширение!

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

Он недоступен в пакете ‘DT’. Вот как вы можете его использовать.

Во-первых, загрузите файл JavaScript и файл CSS.

Затем, вот код R:

 library(DT)
library(htmltools)

dat <- data.frame(
  x = c(0, 1, 2, 3, 4),
  id = c("sub0", "sub0", "sub1", "sub1", "sub2")
)

dtable <- datatable(
  dat,
  options = list(
    dom = "Qlfrtip",
    searchBuilder = list(
      columns = list(2) # 2 is the index of the 'id' column
    )
  )
)

path_to_searchBuilder <- # path to the folder containing the two searchBuilder files
  normalizePath("~/Work/R/DT/searchBuilder/")

dep <- htmlDependency(
  name = "searchBuilder",
  version = "1.0.0", 
  src = path_to_searchBuilder,
  script = "dataTables.searchBuilder.min.js",
  stylesheet = "searchBuilder.dataTables.min.css",
  all_files = FALSE
)

dtable$dependencies <- c(dtable$dependencies, list(dep))

dtable
  

Комментарии:

1. Это действительно круто. Я постараюсь реализовать это в своем блестящем приложении. Благодарим вас за разъяснение параметров, которые есть у DataTable