Как получить путь к текущему R файлу
В Python, перед запуском скрипта создаются ряд глобальных переменных, таких как __name__, __file__, __spec__ и т.д. Путь к файлу скрипта автоматически записывается в переменную __file__, и вы в любой момент из этой переменной можете получить абсолютный путь к файлу выполняемого скрипта.
В R под капотом такой механизм не реализован, но вы же помните, что в R на любой чих есть пакет. Функционал по определению пути к текущему, исполняемому R скрипту предоставляет пакет this.path. В нём вам по большей части понадобится всего две функции:
● this.path() - получить абсолютный путь к исполняемому R файлу.
● this.dir() - получить абсолютный путь к директории исполняемого R файла.
Функции this.path2(), this.dir2() и this.dir3() делают тоже самое, но если вы их запускаете, например в не сохранённом R файле вместо ошибки вернут NULL или текущую рабочую директорию.
В качестве примера можете создать простейший файл test.R, со следующим кодом:
library(this.path)
print(this.path())
print(this.dir())
Далее запустите его в пакетном режиме из командной строки, или в RStudio сочетанием клавиш Ctrl + Shift + Enter.
Результат:
> source("~/test.R", echo=TRUE)
> library(this.path)
> print(this.path())
[1] "C:/Users/Username/Documents/test.R"
attr(,"this.path.n")
[1] 1
> print(this.dir())
[1] "C:/Users/Username/Documents"
#заметки_по_R