DataTables для R: «предупреждение:` dim <-. Vctrs_list_of () `не поддерживается» - PullRequest
1 голос
/ 08 апреля 2020

Я новичок в DataTables, но был поражен его мощью, и мне удалось создать несколько разных таблиц и использовать их на информационной панели Shiny. В настоящее время я пытаюсь реализовать эту таблицу , и мне удалось это сделать после обновления небольшого количества кода (см. Мой собственный ответ в теме).

Однако при вставке финальная таблица в Shiny, вот так ...

shinyApp(
  ui = fluidPage(
    DT::dataTableOutput("table")
  ),
  server = function(input, output) {
    output$table = DT::renderDataTable({final_table})
  }
)

... Я получаю ошибку DataTables warning: table id=DataTables_Table_0 - 'dim<-.vctrs_list_of()' not supported. Просто запуск final_table в RStudio создает DataTable точно так, как предполагалось. Использование функций с одинаковыми именами из shiny вместо DT возвращает пустую страницу.

Я узнаю vctrs_list_of по одному из изменений, которые мне пришлось внести в связанный ответ выше (который был вызван тем, что tidyr s nest() в эти дни возвращает вложенный столбец класса vctrs_list_of, а не list), поэтому я предполагаю, что там что-то происходит.

Однако, используя 'inspect element', я вижу только ошибку Uncaught TypeError: Cannot read property 'length' of undefined JS, которая ссылается на какую-то непонятную строку в массивном сценарии DataTables JS. Предупреждение не включено в документацию DataTables.

Будем благодарны за любые подсказки / подсказки!

1 Ответ

0 голосов
/ 09 апреля 2020

Я наконец решил эту проблему, изменив класс столбца с vctrs_list_of до list, просто запустив class(table$data) <- "list".

(Примечание: потребовалось внести некоторые изменения в код JavaScript связанного примера, поскольку столбец, теперь являющийся list, имел немного другую структуру.)

Если у кого-то есть более точное объяснение того, что здесь происходит, хотелось бы услышать!

...