Как заставить R распознавать ваш рабочий каталог в качестве рабочего каталога?
Я использую R под Windows на нескольких машинах.
Я знаю, что вы можете установить рабочий каталог из R script, как этот
setwd("C:/Documents and Settings/username/My Documents/x/y/z")
... но тогда это нарушает переносимость script. Это также раздражает, что нужно отменить все косые черты (поскольку Windows дает обратную косую черту)
Есть ли способ запустить R в определенном рабочем каталоге, так что вам не нужно делать это на уровне script?
Ответы
Ответ 1
Скопировать ярлык в файл R (R.lnk) в папку желаний. Затем в "Свойствах" (правая кнопка мыши → последняя опция) удалите что-нибудь в поле "Начать..." на второй вкладке ( "Ярлык"?). Если вы запустите R с этим рабочим каталогом, это будет тот, где есть ярлык.
У меня нет английской версии Windows, поэтому я не уверен в именах полей, но их легко найти.
Аналогичные вопросы были в R-windows-faq:
2.5 Как его запустить?
2.10 Как я могу сохранить рабочие пространства для разных проектов в разных каталогах?
2.14 Что такое HOME и рабочие каталоги?
В 2.14 указано, что
Рабочий каталог - это каталог, из которого были запущены Rgui или Rterm, если только ярлык не использовался, когда он задан полем "Начало в" свойств ярлыка.
Ответ 2
Вы можете использовать переменную окружения. Это может работать с Sys.getenv()
и Sys.setenv()
. Например:
> Sys.setenv(R_TEST="testit")
> Sys.getenv("R_TEST")
R_TEST
"testit"
Если вы отправили переменную в свой script, вы должны иметь доступ к ней изнутри, а затем вызвать setwd()
на этом выходе.
Ответ 3
Сохраните рабочее пространство в нужном каталоге и после этого вы просто откроете рабочее пространство из проводника Windows.
Ответ 4
Я поставил следующую строку перед моими скриптами, и это позволяет мне работать через мои компьютеры.
setwd(path.expand("~/path/to/working/directory/") )
где ~ is = в ваш домашний каталог.
Sys.setenv(HOME = "path")
или Sys.setenv(R_USER = "path")
могут устанавливать домашний каталог.
В моем случае я работаю над несколькими окнами, у каждого из которых есть довольно разные структуры каталогов, но, правильно настроив домашний каталог, я могу синхронизировать код между компьютерами, чтобы они работали правильно на каждом из них, с тех пор, как я запускаю свои проекты R аналогичные структуры каталогов.
Ответ 5
Если вы используете Emacs/ESS, это не проблема. Я перехожу в каталог, где находится мой R script, откройте его, а затем запустите процесс R ESS. Консоль R появляется с текущим каталогом как рабочий каталог R.
Если вы не перешли на Emacs/ESS, я рекомендую его. (Хотя, чтобы предотвратить пламенную войну, я также отмечаю, что для пользователей Vi есть аналогичные варианты.)
Надеюсь, что это поможет.
Ответ 6
Просто деталь: вместо того, чтобы повернуть косые черты, как вы говорите, просто добавьте еще одну обратную косую черту. Два из этих\\работают так же, как один из этих /. Это делает его по крайней мере немного проще.
Ответ 7
Для Ubuntu:
Вставьте следующую команду в свой .Rprofile
файл (обычно в вашем домашнем каталоге):
setwd(Sys.getenv("PWD"))
Теперь ваш рабочий каталог по умолчанию будет представлять собой каталог, в котором вы запускали R. Помните, что вы также можете настроить рабочие области по умолчанию в разных каталогах, сохранив изображение рабочей области как .RData
, где бы вы ни планировали запустить R (источники запуска .Rprofile
перед поиском .RData
в cwd
).
Ответ 8
Чтобы установить рабочую директорию R, такую как текущий каталог R script, который я работаю, я всегда использую комбинацию команд getwd()
и setwd()
, например:
path <- getwd()
setwd(path)
или
setwd(getwd())
Если вы хотите узнать больше об этом, см. статью .
Приветствия,
[] 's
Ответ 9
Поместите ярлык для R gui в нужный каталог. Щелкните правой кнопкой мыши и посмотрите на свойства ярлыка. Удалите запись "Start In" и нажмите "ОК". Когда вы запускаете R gui из этого ярлыка, каталог по умолчанию будет папкой, из которой вы запустили. Скопируйте/вставьте этот ярлык, где бы вы ни пожелали.