【问题标题】:r shiny user input based on choicer 基于选择的闪亮用户输入
【发布时间】:2015-05-06 06:12:43
【问题描述】:

我知道如何在 UI 上添加文本输入或单选按钮或日期输入,我想做的是询问用户是否要输入文本或日期范围?根据用户选择显示文本输入或日期输入。不知道该怎么做。

       Pseudo Code

       1) Please choose if you want to enter text or date range.
            Radio Button 1 - Text Input
            Radio Button 2 - Date Range

       2a) If the user chooses Radio Button 1, then Text Input should be displayed on the main panel, option to enter two dates (From & to) should not be displayed

       2b) If the user chooses Ratio Button 2, then the option to enter two dates (From & to) should be displayed on the Main panel and text input should not be displayed.

不知道该怎么做。需要一些指点。

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    我在这里感觉很慷慨,通常您应该提供您尝试过的代码,但这里是一个如何使用条件输入的工作示例。

    library(shiny)
    
    runApp(
        list(
            ui = pageWithSidebar(
                headerPanel("Option Input via Radio Buttons"),
                sidebarPanel(
                    radioButtons("radio", label = h3("Radio buttons"),
                                 choices = list("Date" = "date", "Text" = "text"), 
                                 selected = 1),
                    uiOutput("textORdate")
                    ),
                mainPanel()
                ),
            server = function(input, output){
                output$textORdate <- renderUI({
                    validate(
                        need(!is.null(input$radio), "please select a input type")
                        )
                    if(input$radio == "text"){
                        textInput("mytext", "Text Input", "please enter text")
                    }else{
                        dateRangeInput("daterange", "Date range:",
                                       start = "2012-01-01",
                                       end   = "2015-03-06")
                    }
                })
            }))
    

    我在这里展示了多个概念。首先,您可以通过在 server.R 部分中创建输入来创建动态输入。然后由uiOutput 显示。其次,我总是喜欢把人介绍给validate。这是帮助排除故障或向用户提供有用的错误消息的重要功能。

    【讨论】:

    • 我正在添加一些操作按钮和其他功能,一旦我有这些功能,我将更新此部分:)
    猜你喜欢
    • 2021-07-16
    • 1970-01-01
    • 1970-01-01
    • 2016-03-16
    • 2020-03-28
    • 1970-01-01
    • 2020-08-01
    • 2020-07-26
    相关资源
    最近更新 更多