Установка локального пакета, отличного от .tar.gz

Я работаю над сценарием, который создает пакет в текущем каталоге (используя pdInfoBuilder от BioConductor), и я хотел бы установить его во время работы сценария. install.packages() с repo=NULL кажется очевидным выбором, но это, похоже, только за исключением каталогов пакетов, заархивированных и сжатых gzip. Есть ли способ переопределить это, поскольку функция create.pkg() не создает *.tar.gz? В настоящее время я использую:

R CMD INSTALL package.name

Спасибо, Винс


person Vince    schedule 06.10.2009    source источник
comment
Просматривая код install.packages(), кажется, что все, что он делает, это запускает R CMD INSTALL с помощью вызова system() удобным для пользователя способом -   -  person Aaron Statham    schedule 06.10.2009
comment
Если это не .tar.gz, то что?   -  person Shane    schedule 06.10.2009


Ответы (2)


Если это исходный файл, используйте install.packages() и установите repos=NULL:

install.packages(file_name_and_path, repos = NULL, type="source")

См. этот связанный вопрос: Как установить пакет R из исходного кода ?

person Shane    schedule 06.10.2009
comment
Сработало отлично - спасибо Шейн. Я как-то пропустил это в документации. - person Vince; 06.10.2009

Если это не .tgz, то в полной форме каталога? Все, что вам нужно сделать, это R CMD INSTALL dirname, и все заработает. Единственное реальное преимущество функции install.packages() по сравнению с R CMD INSTALL заключается в том, что она выполнит всю загрузку, сопоставление зависимостей и т. д. за вас.

person geoffjentry    schedule 06.10.2009