处理绘图函数中的错误

时间:2016-09-10 17:00:28

标签: r shiny shiny-server shinydashboard

我有一个闪亮的应用程序,它接受一个csv文件的输入。

我在server.R

中有一个绘图功能

myPlot <- function(data) {此函数使用括号中数据框的变量。此数据框是上传文件的输入。}

想象一下,如果数据框中没有函数使用的列,我们将在闪亮选项卡中遇到错误。

如何处理这样的错误?

我想通过抛出一条消息说明&#34;以下文件不兼容来处理它。&#34;

1 个答案:

答案 0 :(得分:0)

就像@UnnamedUser建议的那样,您可以使用validate()need()函数来检查条件:

示例:我正在尝试绘制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)