闪亮 - 条件输出

时间:2014-04-21 02:03:12

标签: r shiny

我已经知道“ConditionalPannel”会隐藏输出但仍会计算它。 我想知道是否有办法防止闪亮计算输出(在某些特定情况下)

通常我希望能够在我的ShinyUI函数(mainPannel块)中编写类似的内容:

if (bool) {showOutput('comp2', 'nvd3')}

其中bool是一个全局变量,它将依赖于无功输入。我特别想到ShinyUI中定义的checkboxInput

checkboxInput("comparison", p("Compare trips?", value = FALSE)

因此bool将在server.R中定义为:

bool <<- FALSE

output$comp1 <- renderChart({
 if (input$comparison) {
  rs <- compare_acc(select(), select2())
  } else {
  rs <- exception_handler
 }
 rs$set(dom = "comp1")
 bool <<- input$comparison
 return(rs)
 })

然而它不起作用,因为bool保持等于FALSE。 我也试过“reactiveValues”:

在global.R中:

values <- reactiveValues()
values$bool <- FALSE

在Server.R中:

output$comp1 <- renderChart({
 if (input$comparison) {
 values$bool <<- TRUE
 rs <- compare_acc(select(), select2())
 } else {
  rs <- exception_handler
  values$bool <<- FALSE
  }
 rs$set(dom = "comp1")

return(rs)
})

在ui.R

if (values$bool) {showOutput('comp1', 'nvd3')},

但我仍然无法正常工作,因为我收到以下错误:

Error in .getReactiveEnvironment()$currentContext() : 
Operation not allowed without an active reactive context. (You tried to do something      that can only be done from inside a reactive expression or observer.)

请帮忙吗?

0 个答案:

没有答案