2016-09-10 17 views
0

私はcsvファイルの入力を受け付ける光沢のあるアプリケーションを持っています。プロット関数のエラー処理

Iはserver.R

myPlot <- function(data) {この関数は、括弧内のデータフレームの変数を使用するにプロット機能を有します。このデータフレームはアップロードされたファイルの入力です}

データフレームに関数で使用される列がない場合、光沢のあるタブでエラーが発生するとします。

このようなエラーはどのように処理されますか?

「次のファイルは互換性がありません」というメッセージを表示して処理したいと思います。

+2

あなたは '検証()'と '必要性()'を使用することができます:検証と必要性など –

+0

文句を言わない仕事はこれで を入力をチェックしますhttp://shiny.rstudio.com/articles/req.htmlをアップロードされたファイルをプロット関数に適用する必要がある場合。 – radhika

+0

ほとんどのエラーで次のように動作しましたか? facet_wrapを処理しません layout_base(data、vars、drop = drop)のエラー: 少なくとも1つのレイヤーに、ファセットに使用されるすべての変数が含まれている必要があります これはどのように処理しますか? プロット用に堅牢なエラーハンドラが必要です – radhika

答えて

0

それはあなたの条件をチェックするためにvalidate()need()機能を使用することができ、@UnnamedUserが提案ばかりのとおりです。

例:私はdata$Col_Adata$Col_Bをプロットしようとしています。このプロットは、両方の列がdata.frameにある場合にのみレンダリングされます。それ以外の場合は、事前定義されたエラーメッセージが表示されます。

library(shiny) 

data <- data.frame(
    Col_A = 1:5, 
    Col_D = 16:20) 

ui <- fluidPage(
    plotOutput("plot") 
) 

server <- function(input, output, session){ 
    output$plot <- renderPlot({ 
    validate(
     need(
     sum(c("Col_A", "Col_B") %in% colnames(data)) == 2, "Col_A and/or Col_B columns are missing!") 
    ) 
    plot(data$Col_A, data$Col_B) 
    }) 
} 

shinyApp(ui, server) 
関連する問題