Лучший способ go от разработки проекта RStudio до запланированного R Script - PullRequest
1 голос
/ 27 апреля 2020

Я занимаюсь разработкой процессов сбора, очистки и хранения различных наборов данных. Разработка ведется с проектами 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, или лучшие идеи для обхода?

1 Ответ

1 голос
/ 29 апреля 2020

В итоге я воспользовался решением, описанным здесь: https://community.rstudio.com/t/how-to-play-nice-with-taskscheduler-r-studio-projects-and-here/24406/2.

Мне не пришлось вносить какие-либо изменения в сценарий MAIN.R. Вместо этого я запланировал это напрямую, но добавил каталог проекта в аргумент «Запускает» задачи Windows Task Scheduler.

...