Команда "Установить рабочий каталог в исходное расположение файла"

RStudio имеет полезную функцию:

Session -> Set Working Directory -> To Source File Location

Есть ли способ сделать это без использования выпадающих меню?

UPDATE:

возможно, лучший способ задать вопрос:

есть ли команда для возврата пути к файлу текущего r script?

Я тоже нашел эту тему, но решения для меня не сработали. Даже Хэдли!

Rscript: определить путь выполнения script

Ответ 1

Вы можете использовать:

source("script.R", chdir = TRUE)

и измените "script.R" на имя интересующего вас файла.

Ответ 2

pathwd<-sub("/filename","",system("find -perm -g=w -type f -name 'filename'",intern=T)[1])
setwd(pathwd)

Убедитесь, что ваше имя файла уникально.

Ответ 3

Это будет работать на большинстве систем, оно немного затруднительно с Mac.

dir <- dirname(parent.frame(2)$ofile)
setwd(dir)

Ответ 4

Небольшое отклонение от ответа @Ciro выше, для пользователей Mac:

pathwd<-sub("/dummy.R","",system("find . -type f -name dummy.R",intern=T)[1]) 
setwd(pathwd)