我正在写我的第一个Shiny应用程序,到目前为止我都在享受它。我的应用程序适用于包含许多测量膳食方面变量的数据框。它允许用户使用滑块选择六个连续变量的范围。这些输入用于子集数据框,然后基于数据子集创建一个ggplot
。R Shiny Handling - 处理来自空数据帧的错误
我的问题是这样的 - 当所选范围中的结果没有留在子集化数据帧的数据,我得到在主面板,其中所述情节通常会印刷此红色错误消息:
Error: argument is of length zero (from: Error in if (nrow(layer_data) == 0) return() : argument is of length zero).
我明白为什么会发生此错误,并且在典型的数据分析会话期间获取静态图是有意义的。但是,我试图找出正确的方式来处理这个闪亮的web应用程序的情况。
由于该消息是没有意义的用户,我想:
1)能够与一个明智的消息替换成OR
2)返回一个空白图表OR
3)显示什么(即没有错误消息或图形用户当数据帧为空)
的问题是,如果我检查一个空的数据帧,并返回不同的(空白)的情节或消息,然后当用户更改滑块设置确实有数据的东西,正确的情节不会出现(因为被动对象不再是相同的)。如果我只是让错误消息像现在一样出现,并且用户更改了设置,则图表会适当更新。
有人可以推荐一种方法来处理这种优雅的闪亮?
为什么不使用某种类型的错误捕获? – JEquihua
请参阅[如何制作一个很好的重复示例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example),并在您的ui中显示突出部分。 R'和'server.R' – hrbrmstr