如何在RStudio中设置一个内置计时器来执行代码片段?

时间:2018-07-20 13:25:54

标签: r time automation rstudio

我在Rstudio中有一些代码,该代码向Google Big Query发送API请求以运行保存的查询。然后,我的脚本将数据下载回RStudio,以建模为机器学习模型。

它包含许多医疗数据,我希望其中的某些过程比以前更加自动化。

tags<-read.csv('patient_health_codes.csv',stringsAsFactors = FALSE)
tags<-tail(tags, 6)

本节使用CSV来遍历患者健康组(例如湿疹为123456)-第1节

MD2DS="2018-07-20" 
MD2DE="2018-07-20" 

以上部分填写了查询执行功能的日期范围-第2部分

sapply(health_tags$ID, function(x) query_details (MD2_date_start=MD2SE,    
                                                  MD2_date_end=MD2DE,                                                      
                                                Sterile_tag=as.character(x)))

本节在Google大查询上执行查询,并遍历x湿疹,哮喘,过敏症组等所有不同的患者组。 -第3节

project <- "private-health-clinic"
bq_table=paste0('[private-health-clinic:medical.london_',Sterile_tag,']')
sql =paste0('SELECT * FROM ', bq_table)

本节以患者组命名每个表-第4节

data <- query_exec(sql, project = project, max_pages = Inf)
write.csv(data, file =paste0("medical_", Sterile_tag, ".csv"))

此代码下载并在RStudio上以CSV格式将大查询表写入CSV-第5部分

我的问题是,我该如何告诉RStudio某人实时执行1小时后何时执行第3节,请先执行第4节,然后再执行第5节5分钟。

预先感谢您对我不是R专家的帮助!

2 个答案:

答案 0 :(得分:0)

只需在第3节之后添加它即可

Sys.sleep(3600)

在第4节之后,添加:

Sys.sleep(300)

答案 1 :(得分:0)

根据执行该代码所需的时间,可能值得使用Sys.sleep来获得所需的等待时间减去计算所花费的时间,如下所示:

t0 <- Sys.time()

# section 3

t1 <- Sys.time()
Sys.sleep(3600 - (t1 - t0))

# section 4

t2 <- Sys.time()
Sys.sleep(300 - (t2 - t1))

# section 5

否则,等待时间将添加到运行这些部分所花费的时间上。