R 闪亮应用程序的条件错误消息
我有一个应用程序,你输入自己的数据,然后有两个选择输入,用户可以选择他们的因变量(列从输入的数据)和多个自变量。我想这样做,如果他们从他们的数据中选择了一个具有空值的列,就会立即弹出一条错误消息,告诉他们存在空值。这是因为如果有一个空值,那么当他们点击run按钮时,应用程序将不会运行并崩溃 我的第一个想法是像这样使用validate命令:R 闪亮应用程序的条件错误消息,r,shiny,error-messaging,R,Shiny,Error Messaging,我有一个应用程序,你输入自己的数据,然后有两个选择输入,用户可以选择他们的因变量(列从输入的数据)和多个自变量。我想这样做,如果他们从他们的数据中选择了一个具有空值的列,就会立即弹出一条错误消息,告诉他们存在空值。这是因为如果有一个空值,那么当他们点击run按钮时,应用程序将不会运行并崩溃 我的第一个想法是像这样使用validate命令: validate( need(is.na(input$yvariable), "Error: null value detected in variable
validate(
need(is.na(input$yvariable), "Error: null value detected in variable")
))
(输入$yvariable为因变量)
然而,当我应用它时,它似乎没有任何作用。我还尝试使用if-else语句在UI中隐藏帮助文本,但也没有成功。同样重要的是,当他们选择一个包含空值的列时,错误会立即弹出。有没有什么明确的方法来解决这个问题?有人做过类似的事情吗
谢谢 这是一个开始代码,您可以使用它来构建它。以下代码使用
showmodel
弹出消息,当缺少值时,您可以根据需要自定义此消息。另一个选项是使用shinyjs::disable
在缺少值时禁用Run按钮
library(shiny)
ui <- fluidPage(
uiOutput('inVar'),
textOutput("textsummary")
)
server <- function(input, output, session) {
df <- mtcars
df$disp[3:8]<-NA
observe(print(df[,input$DepVar]))
output$inVar <- renderUI({
selectInput(inputId = "DepVar", label = h4("Select variables:"), choices = colnames(df))
})
output$textsummary <- renderText({
paste("Missing of",input$DepVar, " is ", sum(is.na(df[,input$DepVar])))
})
observe({
if(sum(is.na(df[,input$DepVar]))>0)
showModal(modalDialog(
title = "Somewhat important message",
"This is a somewhat important message.",
easyClose = TRUE,
footer = NULL
))
})
}
shinyApp(ui, server)
库(闪亮)
欢迎来到stackoverflow<代码>验证()。为什么它在您的代码中不起作用只能用您的代码来回答:)我们只能猜测是.na(输入$yvariable)
不会返回true。可能您正在查找is.null()
,可能is.na(输入$yvariable)
是一个数组,。。。。