闪亮 - 我在哪里可以找到ObserveEvent

时间:2016-10-22 23:35:00

标签: r shiny

我是闪亮的新手,目前在OSX Yosemite(R版本3.0.3)上运行0.10.1版本。看起来很傻但我似乎无法找到observeEvent和eventReactive作为有效函数!我认为这可能是由于我的版本,但R不允许我升级到0.14.1:

> install.packages("https://cran.r-project.org/bin/macosx/mavericks/contrib/3.3/shiny_0.14.1.tgz", repos=NULL, method="libcurl")
tar: Error opening archive: Failed to open 'https://cran.r-project.org/bin/macosx/mavericks/contrib/3.3/shiny_0.14.1.tgz'
Warning in install.packages :
  'tar' returned non-zero exit code 1
Error in install.packages : file ‘https://cran.r-project.org/bin/macosx/mavericks/contrib/3.3/shiny_0.14.1.tgz’ is not an OS X binary package

旁注:是否可以使用observe来复制observeEvent?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为应该有其他原因导致您无法找到这些功能。

无论如何,你可以在observe内部使用isolate()来阻止反应依赖。仅当输入$ first更改时,输入$ first和输入$ second的总和才会打印在控制台上。

这是代码:

    library(shiny)


    ui <- shinyUI(fluidPage(


       titlePanel("Observe with Isolate"),


       sidebarLayout(
          sidebarPanel(
             sliderInput("first",
                         "Number of bins:",
                         min = 1,
                         max = 50,
                         value = 30),
             sliderInput("second",
                         "Number of bins:",
                         min = 1,
                         max = 50,
                         value = 30)
          ),


          mainPanel(

          )
       )
    ))


    server <- shinyServer(function(input, output) {

       observe(
               print(input$first + isolate(input$second))
       )
    })


    shinyApp(ui = ui, server = server)