从 RStudio 项目开发到预定 R 脚本的最佳方式

Best way to go from RStudio project development to scheduled R Script

我正在开发收集、清理和存储各种数据集的流程。开发是通过 RStudio 项目完成的。我不会说我遵循每个 tidyverse/RStudio 工作流程建议,但总的来说我正在使用该框架——现在相关的是我正在使用标准子目录和 here 包来引用它们。

每个项目都有一个 MAIN.R 脚本,最终 source 是其他脚本的功能 - 只需 运行 MAIN.R 即可执行该过程。我这样做不仅是为了简单,也是因为长期的意图是让它成为一个预定的过程。

目前至少我安排 R 脚本的方法是使用 Windows 任务计划程序。安排 R 脚本并 运行ning 不是问题。问题是在项目内开发的上下文假设:当我 运行 MAIN.R 超出项目范围时 source(here("CODE", "some-file.R")) 失败。

一个明显的解决方案是将项目位置硬编码为参数之一。我需要两个不同的 MAIN.R 文件,一个用于使用项目的开发,另一个使用该参数进行调度。我不讨厌这个想法,不喜欢它,因为有人否定了 project/here 方法的全部要点。是否有我在 Google 上找不到的其他人创建的更优雅的解决方案,或者更好的解决方法?

我最终使用了此处描述的解决方案:https://community.rstudio.com/t/how-to-play-nice-with-taskscheduler-r-studio-projects-and-here/24406/2 .

我不必对 MAIN.R 脚本进行任何更改。相反,我直接安排了它,但将项目目录添加到 Windows Task Scheduler 任务的 "Starts In" 参数中。