8

我最近才注意到reactivePoll()- 但需要一些帮助来解决我的用例。

我想将数据累积到向量、列表或 data.frame 中(没关系),然后绘制数据,UI 显示一个图表,其中数据随着新数据的进入而累积。问题是我没有看到如何在不替换旧数据的情况下向旧数据添加新数据。在这个例子中(https://gist.github.com/sckott/7388855)我只得到了data.frame中的第一行和最新的一行,而不是所有数据的累积。对于这个例子,我怎样才能得到data.frame增长,在底部添加新数据?

4

1 回答 1

8

这可以使用以下reactiveValues函数来完成:

runApp(
  list(
    ui = 
      mainPanel(
        tableOutput(outputId="dataTable")
      ),
    server = function(input, output, session) {
      myReact <- reactiveValues(df =data.frame(time=Sys.time()))
      readTimestamp <- function() Sys.time()
      readValue <- function(){
        data.frame(time=readTimestamp())
      }
      data <- reactivePoll(1000, session, readTimestamp, readValue)
      observe({
        myReact$df <- rbind(isolate(myReact$df), data())
      })
      output$dataTable <- renderTable({
        myReact$df
      })
    })
)
于 2014-05-03T19:01:29.900 回答