У меня есть работающее приложение Shiny, которое находится на flexdashboard. Я не смог найти лучший способ автоматического обновления подключения к данным каждые 15 минут.
Я использую специальную функцию для чтения файла CSV (пропуская 3 строки), поэтому я неконечно, как продолжить.
---
title: "Dashboard"
output:
flexdashboard::flex_dashboard:
orientation: rows
veritcal_layout: scroll
source_code: embed
runtime: shiny
---
Row {data-height=650}
-------------------------------------
### DataGraph 1
library(flexdashboard)
library(readr)
library(lubridate)
ez.read = function(file, ..., skip.rows=NULL, tolower=FALSE){
if (!is.null(skip.rows)) {
tmp = readLines(file)
tmp = tmp[-(skip.rows)]
tmpFile = tempfile()
on.exit(unlink(tmpFile))
writeLines(tmp,tmpFile)
file = tmpFile
}
result = read.csv(file, ...)
if (tolower) names(result) = tolower(names(result))
return(result)
}
data <- ez.read("last8hours.csv", skip.rows = 2:3, tolower = T))
data$x <- as.POSIXct(data$x, format= "%d-%b-%Y %H:%M")
datah <- ez.read("last24.csv", skip.rows = 2:3, tolower = T)
datah$x <- as.POSIXct(datah$x, format= "%d-%b-%Y %H:%M")
Я хотел бы либо обнаруживать изменения файла, либо планировать обновление данных и соединений datah каждые 15 минут. Каков наилучший способ добиться этого и как это может выглядеть с функцией, которую я использую для чтения файлов CSV?