R Shiny ConditionalPanel 显示两个条件
Rshiny ConditionalPanel displaying both conditions
我对 shiny 还很陌生,我遇到了其他人遇到的问题,但我似乎找不到解决方案。我的 Rshiny 应用程序中的条件面板显示了我的所有条件。我参考了以下链接,甚至尝试了 renderUI 解决方案,但没有成功。这似乎是我遗漏的一个简单问题,但如果有任何帮助、条件面板的替代解决方案或对问题所在的见解,我们将不胜感激!
(框中的值然后用于更新图表,当我在我的应用程序中使用此解决方案时,图表也不再显示。我可以分享的其他代码数量有限)
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)) })
}
))
下面是当前输出。 What I need is for when "F" is selected , only "Box 1", "Box 2", "Box 3" and "Back" appear and 不是 "Box 4" 。选择 "S" 时,只会出现 "Box 4"。
我使用了 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)) })
}
))
您的第二个条件面板的条件中缺少结束撇号。如果你把它加回来,它就会像写的那样工作。
我对 shiny 还很陌生,我遇到了其他人遇到的问题,但我似乎找不到解决方案。我的 Rshiny 应用程序中的条件面板显示了我的所有条件。我参考了以下链接,甚至尝试了 renderUI 解决方案,但没有成功。这似乎是我遗漏的一个简单问题,但如果有任何帮助、条件面板的替代解决方案或对问题所在的见解,我们将不胜感激!
(框中的值然后用于更新图表,当我在我的应用程序中使用此解决方案时,图表也不再显示。我可以分享的其他代码数量有限)
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)) })
}
))
下面是当前输出。 What I need is for when "F" is selected , only "Box 1", "Box 2", "Box 3" and "Back" appear and 不是 "Box 4" 。选择 "S" 时,只会出现 "Box 4"。
我使用了 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)) })
}
))
您的第二个条件面板的条件中缺少结束撇号。如果你把它加回来,它就会像写的那样工作。