print()在反应函数内不起作用

时间:2016-01-13 18:39:04

标签: r shiny

当我构建shinyapps时,我通常使用print来检查以确保我认为应该发生的事实实际发生的事情。但是,当我运行应用程序时,我遇到了print不再打印到R控制台的问题。这是我尝试过的一个简单例子:

ui <- fluidPage(
  sliderInput("slider", "Slider Range",
          min = 0, max = 5000, value = c(11))
)

server <- function(input, output){
  print("Non-Reactive")  
  new <- reactive({
    print("Reactive")
    print(input$slider)
  })

}

shinyApp(ui, server)

在R控制台中,我得到:[1] "Non-Reactive"就是这样。我的滑块没有[1] "Reactive"[1] 11

我知道以前曾经工作过,但我不确定是什么改变了。如果除了print之外还有另一种更简单的检查/调试shinyapps代码的方法,我也很想知道我的其他选项。

注意:我的shinyapp软件包版本为0.13.0。我的RStudio版本是0.99.491。 R目前是3.2.2。

1 个答案:

答案 0 :(得分:2)

正如jenesaisquoi所提到的,我不得不在我的服务器代码中稍后使用observe(new())来观察reactive()函数的变化。在测试时,我必须通过print()函数从未使用过reactive()