【发布时间】:2019-12-14 12:04:58
【问题描述】:
我有一个应用程序,我想根据用户选择的数字添加不同数量的 UiOutputs。现在我发现自己做了很多冗余的条件面板来创建我正在寻找的结果。我想知道是否有一种更简单的方法可以通过“switch”之类的功能产生所需的结果。
这是使用条件面板的代码。结果是可取的。条件面板的数量和重复次数不大。
我只会显示 2 个条件面板,但在我的应用程序中我有 9 个。该应用程序只是询问用户他们想在其投资组合中选择多少股票以及每只股票的股票数量。
library(shiny)
tickers = c("SPY", "IWM", "QQQ")
ui <- fluidPage(
# Application title
titlePanel("Old Faithful Geyser Data"),
mainPanel(
h3("lets test the corr Mat"),
#inputs stock
#inputs weight
radioButtons("howMany", "How Many ETF's?", choices = c(1, 2, 3, 4, 5, 6), selected = 1),
actionButton("stest", "Stress Portfolio"),
conditionalPanel("input.howMany == '1'",
selectizeInput("stock1", "choseStock 1", choices = tickers, selected = "SPY"),
numericInput("weight1", "Choose Number of Shares 1", value = 100, min = 0, max = NA, step = 1)),
conditionalPanel("input.howMany == '2'",
selectizeInput("stock1", "choseStock 1", choices = tickers, selected = "SPY"),
selectizeInput("stock2", "choseStock 2", choices = tickers, selected = "QQQ"),
numericInput("weight1", "Choose Number of Shares 1", value = 100, min = 0, max = NA, step = 1),
numericInput("weight2", "Choose Number of Shares 2", value = 100, min = 0, max = NA, step = 1))
)
)
# Define server logic required to draw a histogram
server <- function(input, output) {
}
# Run the application
shinyApp(ui = ui, server = server)
【问题讨论】:
标签: r shiny shinydashboard shiny-reactivity