【发布时间】:2021-06-17 11:26:27
【问题描述】:
我正在开发一个闪亮的网络应用程序,但我遇到了 conditionalPanel() 的问题。好吧,这不是问题,因为该应用程序运行良好。但是,我对代码本身并不满意,因为它非常重复。我已经在这里阅读了很多内容,但找不到解决我正在寻找的问题的答案(如果我错过了一个适用于此的入口,请注意我),所以就这样吧。
我有一个条件面板,它根据下一个代码所示的条件显示一到四个数字输入。
library(shiny)
library(shinythemes)
ui <- fluidPage(
theme = shinytheme('darkly'),
titlePanel("Some nice title"),
sidebarPanel(
selectInput("BaseType", "Number of values:", c(seq(1,4))),
conditionalPanel(
condition = "input.BaseType == 1",
numericInput("value1", "First value:", value = 0, step = 0.01)),
conditionalPanel(
condition = "input.BaseType == 2",
numericInput("value1", "First value:", value = 0, step = 0.01),
numericInput("value2", "Second value:", value = 0, step = 0.01)),
conditionalPanel(
condition = "input.BaseType == 3",
numericInput("value1", "First value:", value = 0, step = 0.01),
numericInput("value2", "Second value:", value = 0, step = 0.01),
numericInput("value3", "Third value:", value = 0, step = 0.01)),
conditionalPanel(
condition = "input.BaseType == 4",
numericInput("value1", "First value:", value = 0, step = 0.01),
numericInput("value2", "Second value:", value = 0, step = 0.01),
numericInput("value3", "Third value:", value = 0, step = 0.01),
numericInput("value4", "Fourth value:", value = 0, step = 0.01))
)
)
server <- function(input, output) {
}
shinyApp(ui = ui, server = server)
这不是整个应用程序,它只是我的应用程序的一个总结示例。确切地说,我在问是否有办法不在每个conditionalPanel() 中重复相同的行(我在 R 方面很新,特别是在闪亮方面)。如果有人需要一些上下文,该应用程序是关于滴定曲线生成器的,这部分是针对弱酸和碱的,根据它有多少 pKa 或 pKb,我想要的输入量。
【问题讨论】: