在同一事件中闪亮多个对象

时间:2019-08-27 16:24:00

标签: shiny shiny-reactivity

我有一个用以下内容定义的反应对象列表:

myReactiveList <- reactive({

object1 <- some calculation depending on user inputs

object2 <- some calculation depending object 1 and on other user inputs

# put both in reactive list with:
list(
    reactiveObject1 <- reactive({object1}) 
    reactiveObject2 <- reactive({object2}) 
    )
})

现在,我想添加一个动作按钮,以便仅在选择了所有用户输入并且用户按下“执行”后才执行执行。

不幸的是,语法reactive(input$go , {})似乎不起作用。它仅适用于eventReactive(input$go , {}),而{{1}}一次只能处理一个对象。

将input $ go纳入我的顺序反应式列表的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以将object1object2包装在列表中,以后再分别使用myReactiveList()[[1]]myReactiveList()[[2]]进行调用-

myReactiveList <- eventReactive(input$go, {
  object1 <- some calculation depending on user inputs

  object2 <- some calculation depending object 1 and on other user inputs

  # put both in a list
  list(object1, object2)
})