如何处理Shiny中具有rhandsontable的空表?

时间:2016-12-02 22:00:40

标签: r shiny rhandsontable

当我的rhandsondtable中的最后一行被删除时,我收到以下错误:

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中运行代码时,会发生同样的事情。我正在使用此代码进行实验。

我希望能够阻止这种情况发生。我愿意接受不同的选择,例如

  • 确定HOT是否没有行并显示“添加行”按钮而不是表
  • 防止删除最后一行

我已尝试使用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函数失败,我无法使用数据框来执行此操作。< / p>

任何有关如何处理我的“空”表问题的帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

input$hot是一个包含三个项目的列表,第一个项目input$hot$data包含表格数据。因此,您可以检查length(input$hot$data)以确定剩余行数。