Как заставить R распознавать ваш рабочий каталог как его рабочий каталог?
Я использую R под Windows на нескольких машинах.
Я знаю, что вы можете установить рабочий каталог из скрипта R, как это
setwd("C:/Documents and Settings/username/My Documents/x/y/z")
... но тогда это нарушает переносимость скрипта. Также раздражает необходимость отменять все косые черты (поскольку Windows дает вам обратную косую черту)
Есть ли способ запустить R в определенном рабочем каталоге, чтобы вам не нужно было делать это на уровне сценария?
10 ответов
Вы должны скопировать ярлык в R (файл R.lnk) в нужную папку. Затем в "Свойствах" (правая кнопка мыши -> последний вариант) удалите что-либо в поле "Начать с..." на второй вкладке ("Ярлык"?). Если вы запустите R с этим ярлыком, то рабочий каталог будет тем, где ярлык находится.
У меня нет английской версии Windows, поэтому я не уверен насчет имен полей, но их легко найти.
Подобные вопросы были в R-windows-faq:
2.10 Как мне сохранить рабочие пространства для разных проектов в разных каталогах?
2.14 Что такое HOME и рабочие каталоги?
В 2.14 упоминается, что
Рабочий каталог - это каталог, из которого был запущен Rgui или Rterm, если только не был использован ярлык, если он указан в поле "Start in" свойств ярлыка.
Вы можете использовать переменную среды. Это может работать с Sys.getenv()
а также Sys.setenv()
, Например:
> Sys.setenv(R_TEST="testit")
> Sys.getenv("R_TEST")
R_TEST
"testit"
Если вы отправили переменную в своем скрипте, вы сможете получить к ней доступ изнутри, а затем вызвать setwd()
на этом выходе.
Сохраните вашу рабочую область в нужном каталоге, а затем просто откройте рабочую область из проводника Windows.
Я поставил следующую строку перед моими сценариями, и она позволяет мне работать на моих компьютерах.
setwd(path.expand("~/path/to/working/directory/") )
где ~ is = в ваш домашний каталог.
Sys.setenv(HOME = "path")
или же Sys.setenv(R_USER = "path")
оба могут установить домашний каталог.
В моем случае я работаю над несколькими окнами, каждый из которых имеет довольно разные структуры каталогов, но, правильно установив домашний каталог, я могу синхронизировать код между компьютерами и правильно запускать их на каждом, так как там, где я запускаю, мои R-проекты имеют схожие структуры каталогов,
Просто деталь: вместо обратной косой черты, как вы говорите, просто добавьте еще одну обратную косую черту. Два из этих \\ работают так же, как один из этих /. Это делает это по крайней мере немного легче.
Если вы используете Emacs/ESS, это не проблема. Я перехожу в каталог, где находится мой R-скрипт, открываю его и запускаю процесс R ESS. Консоль R выскакивает с текущим каталогом в качестве рабочего каталога R.
Если вы не конвертировали в Emacs/ESS, я рекомендую это. (Хотя, чтобы предотвратить войну пламенем, я также отмечаю, что есть аналогичные варианты для пользователей Vi.)
Надеюсь, это поможет.
Для Ubuntu:
Вставьте следующую команду в ваш .Rprofile
файл (обычно в вашем домашнем каталоге):
setwd(Sys.getenv("PWD"))
Теперь вашим рабочим каталогом по умолчанию будет каталог, из которого вы запустили R. Имейте в виду, что вы также можете настроить рабочие пространства по умолчанию в разных каталогах, сохранив изображение рабочего пространства как .RData
везде, где вы планируете запустить R (источники запуска .Rprofile
перед поиском .Rdata
в cwd
).
Чтобы установить рабочий каталог R, например текущий каталог скрипта R, над которым я работаю, я всегда использую комбинацию команд getwd()
а также setwd()
, как это:
path <- getwd()
setwd(path)
или же
setwd(getwd())
Если вы хотите узнать больше об этом, см. Эту статью.
Ура,
[] 'S
Чтобы установить рабочий каталог в R Studio: См. Подробную презентацию со снимками экрана здесь.
- Использование setwd(): пользователям Windows нужно будет заменить обратную косую черту '' на прямую косую черту '/' или двойную обратную косую черту '\'. Первое можно сделать с помощью поиска и замены (ярлык: Ctrl+F)
- Другой вариант: перейдите в Сеанс -> установить рабочий каталог -> выберите рабочий каталог и просмотрите папку, которую вы хотите установить в качестве рабочего каталога, нажмите открыть
- Самый быстрый метод (мой любимый): используйте ярлык «Ctr + Shift + H» (в системе Windows), просмотрите папку, которую вы хотите установить в качестве рабочего каталога, нажмите «Открыть».
Чтобы установить постоянный рабочий каталог (когда он не находится в проекте) в R Studio: обратитесь к моему короткому видео о том же: https://youtu.be/hMjzO4bAi70
Перейдите в Инструменты -> Глобальные параметры -> R Общие [Базовые] -> Рабочий каталог по умолчанию (если не в проекте), просмотрите папку, которую вы хотите установить в качестве рабочего каталога, нажмите «Применить» и «ОК». '
Однако эффективный и лучший способ организовать вашу работу - это создавать проекты и использовать контроль версий.
Поместите ярлык для R GUI в нужный каталог. Щелкните правой кнопкой мыши и посмотрите на свойства ярлыка. Удалите запись для "Начать с" и нажмите "ОК". Когда вы запускаете R gui из этого ярлыка, каталогом по умолчанию будет папка, из которой вы запустили. Скопируйте / вставьте этот ярлык куда угодно.