Загрузка пакета R из пользовательского каталога - PullRequest
23 голосов
/ 17 марта 2011

Если я скачаю файл «имени пакета» .tar.gz с веб-сайта CRAN, заархивирую и распакую его в пользовательский каталог, как мне загрузить этот пакет из R? Я не могу извлечь файл из каталога установки R.

Ответы [ 6 ]

46 голосов
/ 19 января 2012

Попробуйте использовать пакет devtools Хадли Уикхема , который позволяет загружать пакеты из заданного каталога:

library(devtools)

# load package w/o installing
load_all('/some/package/diR')

# or invoke 'R CMD INSTALL'
install('/some/package/diR')
6 голосов
/ 17 марта 2011

Вам необходимо установить пакет в каталог, в который у вас есть права на чтение и запись.Сначала загрузите пакет в легко доступный каталог.Если вы работаете в Linux / Mac, попробуйте создать каталог с именем 'rlib' в вашем домашнем каталоге.

cd ~; mkdir rlib
R CMD INSTALL MSBVAR.tar.gz --library=rlib

Если вы хотите установить пакет из R, сделайте следующее:

## From CRAN
install.packages("MSBVAR", lib="~/rlib")
5 голосов
/ 17 марта 2011

Пожалуйста, добавьте дополнительную информацию об операционной системе. Если вы работаете в Windows, вам нужно Rtools (http://www.murdoch -sutherland.com / Rtools / ) для сборки из исходного кода. Посетите этот веб-сайт для получения дополнительной информации о том, как установить все необходимое.

Даже когда вы работаете в Linux, простое извлечение файла пакета не работает. Может существовать базовый C-код (который имеет место для пакета MSBVAR), и даже код R должен быть обработан, чтобы быть встроенным в пакет, который может быть загружен непосредственно с помощью функции library().

Кроме того, вы должны учитывать, что пакет, который вы хотите установить, может иметь зависимости. Для пакета MSBVAR это пакеты coda и bit. При сборке из исходного кода вам также необходимо убедиться, что все зависимости установлены, иначе вы можете получить ошибки.

кроме R CMD INSTALL вы можете попробовать изнутри R:

# from CRAN
install.packages("MSBVAR", type="source")
# from a local file 
install.packages("/my/dir/MSBVAR.tar.gz",repos=NULL, type="source")

или почему бы просто не сделать

# from CRAN
install.packages("MSBVAR")

Это прекрасно работает.

2 голосов
/ 17 марта 2011

Вы не можете позвонить R CMD INSTALL downloadedpackage.gz?

Насколько я понимаю, пакет должен быть установлен в вашем пользовательском пространстве, если он не может получить разрешения на запись в папку установки R

0 голосов
/ 13 мая 2019

Начиная с R 3.5.3, это возможно без devtools с приведенной ниже командой

library(mypkg, lib.loc = "f:/R-packages")
0 голосов
/ 10 ноября 2013

вам не нужно разархивировать или распаковать
просто введите эту команду в командной строке, и она разархивируется в соответствующее место

R CMD INSTALL [options] [l-lib] pkgs.tar.gz

, как объяснено здесь

тогда вы можете использовать его в R на library(the_pkg)

...