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

Как изменить .libPaths() постоянно в R?

Всякий раз, когда я изменяю порядок пути библиотеки с помощью функции .libPaths(), она возвращается к умолчанию, если я перезапущу R. Как я могу изменить это навсегда? Я работаю над вычислительным кластером Linux (у меня нет прав администратора), поэтому я хочу постоянно добавить свою локальную библиотеку в R.

Я должен делать это каждый раз, когда я начинаю R

.libPaths(c("/home/...","/home...","/local/library"))
4b9b3361

Ответ 1

Для полноты, и поскольку я не могу показать это в комментарии:

1) Значение по умолчанию для всех систем Debian и Ubuntu с отправленным пакетом R:

[email protected]:~$ R -q -e 'print(.libPaths())'
R> print(.libPaths())
[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library" 
[3]            "/usr/lib/R/library"           
R> 
R> 

2) Мы можем изменить, изменив R_LIBS_SITE:

[email protected]:~$ R_LIBS_SITE="/usr/lib/R/Library" R -q -e 'print(.libPaths())'
R> print(.libPaths())
[1] "/usr/lib/R/library"
R> 
R> 

3) Но изменение R_LIBS не работает:

[email protected]:~$ R_LIBS="/usr/lib/R/Library" R -q -e 'print(.libPaths())'
R> print(.libPaths())
[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library" 
[3]            "/usr/lib/R/library"           
R> 
R> 
[email protected]:~$ 

См. help(Startup) для полного и подробного лечения. В Debian и Ubuntu мы установили эти три каталога как дефолт для более десяти лет. Поскольку здесь устанавливается через R_LIBS_SITE, это переменная, которую вам нужно изменить здесь. В общем, вам нужно переопределить переменную, содержащую значение, и вы можете не знать ex ante, который есть.

Что касается исходного ответа, то в Debian и Ubuntu мы используем файл /etc/R/Renviron. В качестве help(Startup) подробностей вы можете установить любое количество способов для этого постоянно изменять его для запуска - и все эти точки сохраняются для всех разных ОС:

  • Измените системные файлы, такие как Renviron или Renviron.site, если у вас есть соответствующие разрешения
  • Else изменить файл для каждого пользователя ~/.Renviron
  • Альтернативно, измените переменные среды R_LIBS или R_LIBS_USER или R_LIBS_SITE на системном уровне, если у вас есть соответствующие разрешения
  • Иначе измените переменные R_LIBS или R_LIBS_USER или R_LIBS_SITE на уровне пользователя.
  • Наконец, вызовите .libPaths(...new path to be added here...) в ваших R файлах запуска, например. в .Rprofile.

Посмотрите help(Startup) для более подробного обсуждения.

Ответ 2

2 основных решения:

  • В .Rprofile вы можете оставить код, который устанавливает .libPaths()

  • Просто установите соответствующую переменную среды, такую ​​как R_LIBS в Windows или R_LIBS_SITE= в Linux и т.д., к тому, что вам нравится, например

     R_LIBS=C:/R/Library