Я занимаюсь разработкой процессов сбора, очистки и хранения различных наборов данных. Разработка ведется с проектами RStudio. Я не скажу, что следую всем рекомендациям рабочего процесса tidyverse / RStudio, но в целом я использую эту платформу - сейчас важно, чтобы я использовал стандартные подкаталоги и пакет here
для ссылки на них.
В каждом проекте есть сценарий MAIN.R
, который в конечном итоге source
выполняет функции из других сценариев - для выполнения процесса нужно всего лишь запустить MAIN.R
. Я сделал это не только для простоты, но и потому, что долгосрочное намерение состоит в том, чтобы это было запланированным процессом.
На данный момент, по крайней мере, мой метод планирования сценариев R - с помощью Windows Task Scheduler. Запланировать и запустить R Script не проблема. Проблема заключается в контекстуальных предположениях разработки внутри проекта: source(here("CODE", "some-file.R"))
завершается неудачно, когда я запускаю MAIN.R
вне рамок проекта.
Одним из очевидных решений было бы жесткое кодирование местоположения проекта как одного параметров. Мне нужно иметь два разных файла MAIN.R
, один для разработки, использующий проект, и другой, который использует этот параметр для планирования. Я не ненавижу эту идею, не люблю ее, потому что кто-то сводит на нет весь смысл подхода «проект / здесь». Есть ли более изящное решение, созданное кем-то другим, которого я не смог найти в Google, или лучшие идеи для обхода?