我的目标是在R中创建一个反应性的闪亮函数,有多个输出(例如表)可以绑定到类似的函数。不过,我需要该函数对特定于一个表的某些参数作出反应。下面是一些简单的示例代码,它不起作用,但它使我的想法更加清晰-我希望:
output$tableOne <- DT::renderDataTable({
getData(foo)
})
getData <- reactive(function(funParameter){
corrStartDate <- input$StartDate
corrEndDate <- input$EndDate
return(someData(corrStartDate, corrEndDate, funParameter))
})在所有表中(如果有多个表),我不会显示具有不同基参数的数据(getData(x,y,foo))。所以第二个表可以使用"getData(x,y,bar)“。我不想每次都为另一个表编写相同的函数。
上面的解决方案不起作用,因为反应性函数不支持参数。
你怎么解决这个问题?
发布于 2016-01-11 15:36:17
相反,这应该是可行的:
getData <- eventReactive(input$funParameter, {
corrStartDate <- input$StartDate
corrEndDate <- input$EndDate
return(someData(corrStartDate, corrEndDate, input$funParameter))
})只有当参数预先更改时,eventReactive才会更新。实际上,如果input$StartDate或input$EndDate发生变化,此反应性将不会触发。
如果这不是您想要的,正常的反应函数应该可以工作。即:
getData <- reactive({
funParameter <- input$funParameter
corrStartDate <- input$StartDate
corrEndDate <- input$EndDate
return(someData(corrStartDate, corrEndDate, funParameter))
}),如果任何输入更改,都会触发。
https://stackoverflow.com/questions/34725029
复制相似问题