【发布时间】:2015-02-07 04:54:58
【问题描述】:
我需要从闪亮的反应组件中获得多个输出。示例:
output_a,output_b <- reactive({
a <- input$abc
b <- input$abc*10
a
b
})
如何完成上面的事情,通过它我可以从一个反应组件中获得两个输出 a 和 b?
【问题讨论】:
我需要从闪亮的反应组件中获得多个输出。示例:
output_a,output_b <- reactive({
a <- input$abc
b <- input$abc*10
a
b
})
如何完成上面的事情,通过它我可以从一个反应组件中获得两个输出 a 和 b?
【问题讨论】:
所以我遇到了同样的问题,我想要一个反应式的两个输出(我使用 for 循环和 ifelse 语句将变量分配给 2 个列表中的 1 个,我需要返回两个列表)。
我找到了以下解决方法,我不确定它是否也适用于您,但我将其发布在这里以防它对某人有所帮助:
combo_output <- reactive({
a <- input$abc
b <- input$abc*10
combo <- list(a = a, b = b)
combo
})
那么您可以稍后访问这些:
output$someOutput <- renderSomething({
combo <- combo_output()
a <- combo$a
b <- combo$b
...
})
不确定这是否是最佳解决方案,但它对我有用。
【讨论】:
如果我理解正确,您想创建一个对 input$abc 更改的反应。每次 UI 更改 input$abc 时,您都希望服务器的 a 和 b 值发生变化。
如果是这样: 基于tutorial,我建议有2个连续的反应:
output_a<-reactive({
input$abc
})
output_b<-reactive({
input$abc*10
})
请记住,它们将被依次执行,首先您将获得 output_a,然后是 output_b。
希望这对您有所帮助。
【讨论】: