2014-07-08 33 views
2

我寫了一個閃亮的腳本,在初始執行時加載一個Rda文件。此Rda文件由外部進程更新。如何在更改Rda文件時重新加載RDA文件或如何在特定時間重新提交.Rda文件,例如每天早上6點。R Shiny:在一天中的特殊時段重新加載.Rda文件

我想我可以使用reactiveTimer函數和if子句與Sys.time(),但我不知道如何。

非常感謝您的想法。

更新,感謝@jdharrison:

我試過功能reactiveFileReader和我server.R Skript看起來是這樣的:

fileData <- reactiveFileReader(10000, session = NULL, filePath = "../data/myData.Rda", load) 
shinyServer(function(input, output, session) { 
    output$mytable <- renderDataTable({ 
    fileData() 
    myData # this is the name of the R-Object I loaded 
    }) 
}) 

不幸的是我總是得到錯誤信息:MYDATA找不到

如何使用加載了reactiveFileReader函數的數據?

+2

你可以叫'reactiveFileReader'。 'reactiveFileReader'通過定期檢查文件的上次修改時間來工作;如果它發生了變化,那麼該文件將被重新讀取,並且任何被動依賴項都將失效。 – jdharrison

回答

1

一種解決方法很簡單: 只需添加envir = .GlobalEnv

fileData <- reactiveFileReader(10000, session = NULL, filePath = "../data/myData.Rda", load, envir = .GlobalEnv)