2016-12-02 2 views
0

Когда последняя строка в моей rhandsondtable удаляется я получаю следующее сообщение об ошибке:Как обрабатывать пустой стол с рундисткой в ​​Shiny?

Warning: Error in matrix: 'data' must be of a vector type, was 'NULL' 
Stack trace (innermost first): 
    61: matrix 
    60: <Anonymous> 
    59: do.call 
    58: hot_to_r 
    57: observerFunc [#64] 
    2: runApp 
    1: editTable [#126] 

То же самое происходит, когда я запускаю код в this blog post. Я использую этот код для экспериментов.

Я хочу быть в состоянии предотвратить это. Я открыт для разных вариантов, например.

  • Определить, если ГОРЯЧИЙ не имеет строк и отобразить кнопку «Добавить строку» вместо таблицы
  • Предотвращение удаления последней строки

Я попытался с помощью опции minSpareRows, но это приводит к следующей ошибке

Warning: Error in row.names<-.data.frame: invalid 'row.names' length 
Stack trace (innermost first): 
    63: row.names<-.data.frame 
    62: row.names<- 
    61: rownames<- 
    60: <Anonymous> 
    59: do.call 
    58: hot_to_r 
    57: observerFunc [#64] 
    2: runApp 
    1: editTable [#127] 

Я сейчас не жарко, чтобы проверить, если input$hot имеет строк в нем и, как hot_to_r функц ион является единственным, что не удается, я не могу использовать фрейм данных для его выполнения.

Любая помощь в том, как справляться с моей «пустой» проблемой таблицы, будет оценена по достоинству.

ответ

1

input$hot - это список, который содержит три элемента, с первым элементом input$hot$data, содержащим данные таблицы. Таким образом, вы можете проверить length(input$hot$data), чтобы определить, сколько строк осталось.

+0

Спасибо. Обнаружил это самостоятельно, поэтому знайте, что это работает. :) – dommer

Смежные вопросы