Где R хранит пакеты?
Функция install.packages()
в R - это автоматическая утилита для распаковки, которая получает и устанавливает пакеты в R.
-
Как узнать, какой каталог R выбрал для хранения пакетов?
-
Как я могу изменить каталог, в котором R хранит и обращается к пакетам?
Ответы
Ответ 1
Команда install.packages просматривает переменную .libPaths. Здесь, что мои по умолчанию на OSX:
> .libPaths()
[1] "/Library/Frameworks/R.framework/Resources/library"
Я не устанавливаю там пакеты по умолчанию, я предпочитаю, чтобы они были установлены в моем домашнем каталоге. В моем .Rprofile у меня есть эта строка:
.libPaths( "/Users/tex/lib/R" )
Это добавляет каталог "/Users/tex/lib/R" в начало переменной .libPaths.
Ответ 2
Это описано в руководстве по установке и администрированию R, которое прилагается к вашей установке.
В моем ящике Linux:
R> .libPaths()
[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library"
[3] "/usr/lib/R/library"
R>
означает, что путь по умолчанию является первым из них. Вы можете переопределить это через аргумент как для install.packages()
(изнутри R), так и для R CMD INSTALL
(вне R).
Вы также можете переопределить, установив переменную R_LIBS_USER.
Ответ 3
Спасибо за направление от двух вышеупомянутых ответчиков. Предложение Джеймса Томпсона лучше всего подходит для пользователей Windows.
-
Выберите, где установлена ваша программа R. Это упоминается как R_Home
в литературе. Как только вы его найдете, перейдите в подкаталог /etc.
C:\R\R-2.10.1\etc
-
Выберите файл в этой папке с именем Rprofile.site. Я открываю его с помощью VIM. Вы увидите, что это файл с голыми костями с менее чем 20 строками кода. Я вставил внутри кода следующее:
# my custom library path
.libPaths=("C:/R/library")
- добавлен комментарий, чтобы отслеживать, что я сделал с файлом.
- В R, набрав функцию
.libPaths()
, вы получите первую цель в C:/R/Library
ПРИМЕЧАНИЕ. Вероятно, существует более чем один способ достичь этого, но другие методы, которые я пытался, по какой-то причине не работали.
Ответ 4
Вы не хотите, чтобы '='
Используйте .libPaths( "C:/R/library" ) в файле Rprofile.site
И убедитесь, что у вас есть правильный символ (Shift-2)