2

目前我有一个在闪亮服务器中创建的函数 [degtest],它返回一个列表,

return(list(datatable=datatable, predicttable=predicttable, esttable=esttable)

我希望在函数运行后可以访问此列表,以便我可以使用列表的不同部分分别呈现。

 outlist <- reactive({
   if(is.null(input$file2)){return(NULL)}
   if(input$d2 == 0){return(NULL)}
   with(data = reactdata$degdata, degtest(reactdata$degdata[,input$selectTemp], reactdata$degdata[,input$selectPot],reactdata$degdata[,input$selectWeight], reactdata$degdata[,input$selectTime], input$Temp0))
   })

input$file2 是我的 reactdata(reactdata$degdata 和 input$d2 是一个操作按钮。

我以为我可以引用 outlist$datatable 但 R 说'closure'类型的对象不是子集'

4

1 回答 1

3

当你创建一个对象reactive时,你实际上是在把它变成一种函数(closure),所以你必须将它用作outlist()而不是outlist. 看到这个类似的问题。考虑到您没有提供可重现的示例,很难回答您的问题,但我认为您的解决方案将类似于outlist()$ObjectYouAreTryingToAccess.

于 2014-07-16T11:32:02.333 回答