我正在寫我的第一個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