我有一个闪亮的应用程序,可以从我个人的Dropbox中使用rdrop2
导入的data.frame输出数据。
我的Dropbox中构建data.frame的.csv
文件会定期更新。因此,我希望我的Shiny App定期重新加载.csv
文件,并在值发生变化时更新数据输出。
我已经阅读了这两篇文章:How to trigger a data refresh in shiny?和 Update a data frame in shiny server.R without restarting the App, 但我真的无法完全实现它。
现在,我有这个代码,它似乎可以完成这项工作,唯一的事情就是它一直更新输出的数据,而不仅仅是它已经改变了:
shinyServer(function(input,output,session){
sourceData <- reactive({
invalidateLater(1000,session)
loadData()
})
output$text1 <- reactive({
df<-sourceData()
df$SEX[2]
})
})
loadData()
功能是:
loadData <- function(){
filesInfo <- drop_dir("J-Stats")
filePaths <- filesInfo$path[2]
data <- lapply(filePaths, drop_read_csv, stringsAsFactors = FALSE)
df <- do.call(rbind, data)
df
}
我也尝试reactiveValues
,但没有成功。
基本上,我希望这个应用程序的用户能够看到一直没有轻弹的值,但只是当应用程序在“后台”重新加载数据时注意到更改时更新。
非常感谢