Есть ли способ сохранить исходный код R в файл программно? - PullRequest
1 голос
/ 20 мая 2019

Я уверен, что на этот вопрос ответили, но я гуглю неправильные термины. У меня есть много R-скриптов, которые позволяют мне вручную вводить различные параметры, запускать код и сохранять результаты в уникальном каталоге. Каждый раз, когда я запускаю код, я вводю разные параметры. Я хочу записать параметры вместе с результатами, но мне не нужно запускать saveRDS или writeLines для каждого параметра. Поскольку параметры обычно представляют собой текстовые значения, которые я вручную вводю в верхней части скрипта, например, search_term = "transcription" Простое сохранение текста исходного кода в уникальный каталог сделает эту работу (это также позволит мне вернуться назад и увидеть любые небольшие изменения в исходном коде, которые нарушают / исправляют код).

Немного больше поиска выявило rstudioapi::getSourceEditorContext()$path, который дает мне путь к файлу для исходного кода. Затем я могу использовать file.copy для копирования источника в уникальный каталог. Но я должен запомнить, чтобы сохранить исходный код перед его запуском, иначе будет сохранена старая версия. Итак, я полагаю, что вторая часть вопроса заключается в том, существует ли способ программно сохранить сценарий из этого же сценария?

Спасибо.

1 Ответ

2 голосов
/ 20 мая 2019

Если вы работаете в RStudio, вы можете использовать rstudioapi::documentSave. Вот пример

library(rstudioapi)
version = 1
documentSave(getActiveDocumentContext())
...