我刚接触光泽,遇到了其他人都遇到过的问题,但似乎找不到解决方法。我在Rshiny应用程序中的标准面板正在显示我的所有状况。我引用了以下链接,甚至尝试了renderUI解决方案,但都没有运气。这似乎是一个我只是想念的简单问题,但是任何帮助,条件面板的替代解决方案或对问题根源的了解都将不胜感激!
(然后,框中的值将用于更新图形,当我在应用中使用此解决方案时,图形也将不再显示。我只能共享多少其他代码受到限制)
R shiny conditionalPanel displaying both conditions
To add the values in dynamically created textBox in RShiny
Producing dynamic/multiple input boxes to collect data depending on user selection in Shiny R
runApp(list(
ui = bootstrapPage(
selectInput("ctype","test:" , c("F", "S"), selected = F),
conditionalPanel("input.ctype == 'F'",
numericInput("comp", "Box 1", value = 100),
numericInput("comp1", "Box 2", value = 200),
numericInput("comp2", "Box3", value = 300),
actionButton("revert", "Back", icon = icon("history"))
),
conditionalPanel("input.ctype == 'S",
numericInput("comp3", "Box 4", value = 0))
),
server = function(input, output) {
output$plot <- renderPlot({ hist(runif(input$n)) })
}
))
以下是当前输出。我需要的是,当选择“ F”时,只有“ Box 1”,“ Box 2”,“ Box 3”和“ Back”出现在而不是 “ Box 4” 强>。选择“ S”时,仅出现“方框4”。
答案 0 :(得分:1)
我使用了renderUI选项
runApp(list(
ui = bootstrapPage(
selectInput("ctype","test:" , c("F", "S"), selected = F),
uiOutput("comp")
),
server = function(input, output) {
output$comp <- renderUI({
if(input$ctype == "F"){
conditions <- list( fluidRow(
column(numericInput("comp", "Box 1", value = 100), width = 2),
column(numericInput("comp1", "Box 2", value = 200), width = 2),
column(numericInput("comp2", "Box3", value = 300), width = 2)),
actionButton("revert", "Back", icon = icon("history")))
}
if(input$ctype == "S") {
conditions <- numericInput("comp3", "Box 4", value = 0)
}
return(conditions)
})
output$plot <- renderPlot({ hist(runif(input$n)) })
}
))
答案 1 :(得分:1)
在第二个conditionalPanel的条件中,您有一个缺少的结束撇号。如果再加回去,它将照原样工作。