Shiny 条件反应性/事件反应性
我想在我闪亮的应用程序中添加一个复选框(Shiny 条件反应性/事件反应性,shiny,Shiny,我想在我闪亮的应用程序中添加一个复选框(input$autorefresh),以控制每次更改时数据输入自动更新的位置(reactive()),或者是否仅在按下按钮(input$refresh)时更新。下面的代码描述了这个想法,但是我没想到它会起作用。我可以将reactive()与条件隔离()一起使用,但由于我有许多输入,这不是很优雅。有什么想法吗 if (input$autorefresh==TRUE){ dataInput <- reactive({ dosometh
input$autorefresh
),以控制每次更改时数据输入自动更新的位置(reactive()
),或者是否仅在按下按钮(input$refresh
)时更新。下面的代码描述了这个想法,但是我没想到它会起作用。我可以将reactive()
与条件隔离()
一起使用,但由于我有许多输入,这不是很优雅。有什么想法吗
if (input$autorefresh==TRUE){
dataInput <- reactive({
dosomething
})
} else {
dataInput <- eventReactive(input$refresh,{
dosomething
})
}
if(输入$autorefresh==TRUE){
dataInput您正在寻找类似的东西吗
library(shiny)
ui <- fluidPage(
checkboxInput("autorefresh","autorefresh", F),
actionButton("refresh","refresh"),
mainPanel(plotOutput("plot"))
)
autoInvalidate <- reactiveTimer(1000)
server <- function(input, output, session) {
data <- reactive({
input$refresh
data <- plot(rnorm(100),type="l",col="red")
if(input$autorefresh){
autoInvalidate()
return(data)
}
return(data)
})
output$plot <- renderPlot({
data()
})
}
runApp(shinyApp(ui = ui, server = server))
库(闪亮)
ui是一个很好的例子,但是,我不是在寻找一个计时器,而是想在一个反应式和一个事件反应式之间切换,前者在任何输入发生变化时更新,后者只在特定的输入上更新。