1

我使用 shiny 来显示两种方法 A 和 B 的结果。首先我使用radioButtons以便最终用户可以选择其中一种方法,然后在下拉菜单列表中进一步指定要显示的项目。由于有两种方法,我也考虑使用“标签”(tabsetPanel)。我的问题是,有没有一种方法,当我单击一个radioButton方法时,相应的“tabview”会自动切换(到所需方法的显示结果)?

谢谢!如果有一个与这种情况类似的工作示例,那就太好了。

4

1 回答 1

4

查看帮助?updateTabsetPanel,或?conditionalPanel

如果您决定采用该updateTabsetPanel方法,则可以根据用户输入(直接从帮助中获取)更改选定的选项卡:

# in server.R
shinyServer(function(input, output, session) {
    observe({
        # TRUE if input$controller is even, FALSE otherwise.
        x_even <- input$controller %% 2 == 0

        # Change the selected tab.
        # Note that the tabsetPanel must have been created with an 'id' argument
        if (x_even) {
            updateTabsetPanel(session, "inTabset", selected = "panel2")
        } else {
            updateTabsetPanel(session, "inTabset", selected = "panel1")
        }
    })
})

注意session对象和的使用?observe

如果您决定采用这种conditionalPanel方法:

# in ui.R
selectInput("method", "Method", c("A", "B")),
conditionalPanel(
    condition = "input.method == 'A'",
    plotOutput(...)  # or whatever input/output you want
),
conditionalPanel(
    condition = "input.method == 'B'",
    plotOutput(...)  # or whatever input/output you want
)

我不相信conditionalPanel可以制作条件标签。(我可能错了)

于 2013-07-15T19:45:41.013 回答