Я просмотрел много вопросов, подобных этому (см. конец сообщения), но я не нашел решений, которые фактически выполняют то, что мне нужно. Я кодирую Windows или Fedora в зависимости от проекта, и я кодирую для людей, которые используют Windows и несколько дистрибутивов Linux.
Часть моей работы создает сценарии R для людей, которые автоматически анализируют данные и создают графики. Чаще всего я просто отправлю их script, и он сгенерирует график. Таким образом, если данные изменяются или расширяются, мне не нужно повторно запускать script для них (также они могут вносить изменения по мере необходимости).
Проблема заключается в том, что я не знаю, как получить R- script, чтобы узнать, где именно находится. Было бы очень удобно просто создать код, который работает следующим образом:
- Пользователь сохраняет script в папку, содержащую данные, затем запускает script.
- Обычно я просто отправляю сообщение script лицу, с которым я работаю.
- Они сохраняют script в папку, содержащую данные, которые они хотят проанализировать/графически.
- В идеале они просто запустили R, загрузили script, а затем запустили script.
- Script определяет свое собственное местоположение, а затем устанавливает это как рабочий каталог.
- Script анализирует данные внутри своего собственного каталога.
- Script создает график и сохраняет его в свой собственный каталог.
Этот вопрос касается только шага 2. Все остальное прекрасно работает, пока я могу это сделать. Было бы неплохо иметь что-то вроде:
setwd(FindThisScriptsLocation())
Здесь указана строка: source (..., chdir = T) , но она не может использоваться для script для ссылки на себя если он не знает свой собственный путь.
Вот некоторые связанные вопросы:
-
Где находится файл .R script... (касается пакетов)
-
Как получить R, чтобы узнать ваш рабочий каталог... (установка рабочего каталога по умолчанию)
-
Rscript: определить путь выполнения script (один script вызов других, ответа не найдено)