使用R更新crontab中for循环的索引

问题描述 投票:0回答:1

我有一个名为missing_possid的变量,其中包含212个整数值。此变量是篮球比赛中每个控球的控球ID。我正在尝试创建gganimate生成的动画,并使用make_poss_gif函数将其保存为gif。我正在尝试在for循环中运行此功能,如下所示:

# For loop
for (possid in missing_possid) {

  make_poss_gif(possid)

}

每次迭代都需要1-2分钟的加载时间,因此我想每天使用crontab执行此任务。我想要的是crontab在第一天运行前10个值,在第二天运行后10个值,等等...

我曾经使用crontab运行一次R脚本,但是之前我从来没有处理过for循环中的索引,所以我不知道从哪里开始!

谢谢!

r cron
1个回答
0
投票

我建议您为gif文件指定一个输出目录。每次启动R文件时,都应检查输出目录中的文件数。确保只有您的gif文件是该目录的一部分。

因此您可以像这样适应...

## check number of files already done
n_files <- length(list.files("Your_output_dir"))
## stop if all files are done
if(length(1:n_files)==length(missing_possid)) {
  print("All files done")
  q()
}
## set which part of missing_possid should be taken
loop_run <- c((n_files+1):((n_files+1)+9)) 
## adapt loop_run if there are less than 10 files left over 
if((length(1:n_files)+10)>length(missing_possid)){
  loop_run <- loop_run[1:c(length(missing_possid)-(length(1:n_files)))]
}
# For loop
for (possid in loop_run) {

  make_poss_gif(missing_possid[possid])

}
© www.soinside.com 2019 - 2024. All rights reserved.