首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无功函数参数

无功函数参数
EN

Stack Overflow用户
提问于 2016-01-11 15:22:05
回答 1查看 10K关注 0票数 7

我的目标是在R中创建一个反应性的闪亮函数,有多个输出(例如表)可以绑定到类似的函数。不过,我需要该函数对特定于一个表的某些参数作出反应。下面是一些简单的示例代码,它不起作用,但它使我的想法更加清晰-我希望:

代码语言:javascript
复制
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)“。我不想每次都为另一个表编写相同的函数。

上面的解决方案不起作用,因为反应性函数不支持参数。

你怎么解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2016-01-11 15:36:17

相反,这应该是可行的:

代码语言:javascript
复制
getData <- eventReactive(input$funParameter, {
  corrStartDate <- input$StartDate
  corrEndDate <- input$EndDate

  return(someData(corrStartDate, corrEndDate, input$funParameter))
})

只有当参数预先更改时,eventReactive才会更新。实际上,如果input$StartDateinput$EndDate发生变化,此反应性将不会触发。

如果这不是您想要的,正常的反应函数应该可以工作。即:

代码语言:javascript
复制
getData <- reactive({

  funParameter <- input$funParameter
  corrStartDate <- input$StartDate
  corrEndDate <- input$EndDate

  return(someData(corrStartDate, corrEndDate, funParameter))
})

,如果任何输入更改,都会触发。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34725029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档