gpt4 book ai didi

r - Shiny 使用条件面板中选择元素的数量

转载 作者:行者123 更新时间:2023-12-04 10:18:23 26 4
gpt4 key购买 nike

我想根据多选输入的所选项目的数量显示我 Shiny 的应用程序的内容。到目前为止,我无法弄清楚使这项工作发挥作用的条件应该是什么样的。

library(shiny)

shinyUI(pageWithSidebar(
headerPanel("select and conditional panel"),
sidebarPanel(
selectInput(inputId = "someSelect", multiple=TRUE, label = "Genes:", choices = colnames(someDataFrame), selected = c("ESR1", "CD44")),
),
mainPanel(
conditionalPanel(
condition="length(input.someSelect.selected) > 2",
tabsetPanel(
...
)
)
)
))

最佳答案

这可能是一个品味问题,但我不喜欢 conditionalPanel 构造,因为它将 JavaScript 逻辑输入到 R 代码中。相反,我更喜欢 uiOutput(和相应的 renderUI),它可以生成动态 UI。虽然 conditionalPanel 只能处理相当简单的条件,但动态 UI 方法可以创建基于更复杂逻辑的条件外观,并可以利用 R 的强大功能。
然而,对变化的 react 稍慢。

如果您使用这种方法,您的 ui.r 应该类似于:

mainPanel(uiOutput("myConditionalPanel"))

你的 server.r 看起来像:
output$myConditionalPanel = renderUI({
if(length(input$someSelect)>2) {
## some ui definitions here. for example
tabsetPanel(
...
)
} else {
## some alternative definitions here...
}
})

关于r - Shiny 使用条件面板中选择元素的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22064037/

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