r语言 - 周期性自动执行函数,输出保存为csv格式,根据生成的csv文件绘图



我正在做一个每30分钟自动刷新一次的仪表板。

思路是每30分钟自动执行一个函数,将输出保存在csv文件中,然后根据生成的csv文件绘制图形。

30分钟后,再做一遍。这一次图形应该基于最新生成的csv文件。

(我仍然在从SQL中检索新的数据集,让我们首先关注这一部分)

仪表板框架差不多完成了。但是我不知道如何让它每30分钟重新运行一次功能来显示最新的结果。

是否有办法定期执行该函数,然后根据最新的输出绘制图形?我试过taskscheduler,但是它不起作用。

我已经编写了代码,以便结果将导出到csv文件,文件以时间戳命名(用于记录目的)。这意味着每30分钟就会生成一个新文件。如何根据新生成的csv文件绘制图形?

data_frame <- data.frame (
x = c(5, 7, 9, 14, 15),
y = c(6, 8, 10, 16, 4)
)

function_a <- function(x,y){
a<- x*y
return(a)
}
output<-function_a(data_frame, data_frame)

str1<-'function_test.csv'
write.csv(output, file = paste0(sub('\..*', ' ', str1), format(Sys.time(),'%d_%m__%H_%M'), '.csv'))

fig <- plot_ly(output, x = ~x, y = ~y, 
name = 'Measured COD', type = 'scatter', mode = 'lines+markers',
line = list(color = 'rgb(205, 12, 24)', width = 2)) 
fig <- fig %>% layout(title = "Effluent COD",
xaxis = list(title = "Days"),
yaxis = list (title = "Concentration (mg/L)"))
fig

这只是一个简单函数的例子,我正在测试哪个方法可以工作。

非常感谢帮助!

就我对你的问题的理解,这就是你所需要的。如何从SQL调用CSV文件是另一回事函数/脚本的执行间隔为30分钟在while循环中可以延迟执行多少分钟

while (T){
output<-function_a(data_frame, data_frame)

str1<-'function_test.csv'
write.csv(output, file = paste0(sub('\..*', ' ', str1), format(Sys.time(),'%d_%m__%H_%M'), '.csv'))
paste0(sub('\..*', ' ', str1), format(Sys.time(),'%d_%m__%H_%M'), '.csv')

x11(); plot(output$x, output$y) # simplified plotting   
Sys.sleep(1) # 1800 for 30 min intervals
}

最新更新