我是闪亮的新手,目前在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?
谢谢!
答案 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)