Определение местоположения текущего файла в R для включения файла из того же каталога? - PullRequest
10 голосов
/ 28 августа 2011

Я хочу иметь возможность source() файл, который содержит другой файл в том же каталоге, но я не хочу устанавливать рабочий каталог из R-приглашения перед запуском этого файла:

> getwd()
[1] "/Users/myser"
> source("/Users/myuser/workspace/myproject/myfile.r")

Внутри / Users / myuser / workspace / myproject, будут myfile.r и my-utils.r. myfile.r вызывает source('my-utils.r') изнутри.

Другие языки программирования могут определять путь к текущему файлу. У R есть что-то похожее? Пример:

cur_dir <- sys.get_current_file_path()
source(file.path(cur_dir, "my-utils.r"))

1 Ответ

11 голосов
/ 28 августа 2011
source("/Users/myuser/workspace/myproject/my-utils.r", chdir=TRUE)

Если для параметра chdir задано значение true, а для параметра исходного файла указан полный путь, каталог файла будет использоваться в качестве рабочего каталога при поиске файла.

ПРИМЕЧАНИЕ: cur_dir <- sys.get_current_file_path() не имеет особого смысла, потому что имена путей не уникальны.

...