Подтвердить что ты не робот

Как заставить R распознавать ваш рабочий каталог в качестве рабочего каталога?

Я использую R под Windows на нескольких машинах.

Я знаю, что вы можете установить рабочий каталог из R script, как этот

setwd("C:/Documents and Settings/username/My Documents/x/y/z")

... но тогда это нарушает переносимость script. Это также раздражает, что нужно отменить все косые черты (поскольку Windows дает обратную косую черту)

Есть ли способ запустить R в определенном рабочем каталоге, так что вам не нужно делать это на уровне script?

4b9b3361

Ответ 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 из этого ярлыка, каталог по умолчанию будет папкой, из которой вы запустили. Скопируйте/вставьте этот ярлык, где бы вы ни пожелали.