gpt4 book ai didi

r - 使用 validate() 为 Shiny 的 UI 编写错误消息

转载 作者:行者123 更新时间:2023-12-02 01:55:07 25 4
gpt4 key购买 nike

我想创建一个 Shiny 的 UI,其中有 3 个复选框供用户选择。但是,如果没有选择任何框,我想提示用户一条错误消息。

我尝试使用验证函数来解决这个问题(如下所示),但目前不起作用。谁能指出我的代码有什么问题并告诉我如何解决它?

shinyUI(fluidPage(sidebarLayout(
sidebarPanel(checkboxGroupInput(
"variable", "Select An Option:",
c(
"One",
"Two",
"Three"
)
)),

mainPanel(textOutput("text"))
)))

shinyServer(function(input, output) {
text.data <- reactive({
validate(need(!is.null(input$variable),
"Please select an option"))
print(input$variable)
})
output$text <- renderPrint({
print(text.data())
})
})

编辑

我在下面添加了我得到的结果的图像:

  • 未选择任何内容时,消息显示为“NULL NULL”,而不是“请选择一个选项”

enter image description here

  • 当选择一个框时,会显示以下错误消息:“Error:is.character(txt) is not TRUE”,而不是打印所选输入的内容。

enter image description here

最佳答案

为了其他好处,由于存在命名冲突或屏蔽(因为它是一个常见的函数名称),所以包问题是 validate() 函数的常见错误。例如,如果您使用的是 qdap 或 jsonlite 包,那么调用 validate() 可能不会调用该函数的 Shiny 版本。

要测试这是否是您的问题,请尝试将 validate() 替换为 shiny::validate() 或更改加载库的顺序。

关于r - 使用 validate() 为 Shiny 的 UI 编写错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33453324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com