1. Вы не можете записать
Первое, что нужно проверить, правильно ли вы написали название пакета? Имена пакетов чувствительны к регистру в R.
2. Вы не смотрели в правильном хранилище
Затем вы должны проверить, доступен ли пакет. Тип
setRepositories()
Смотрите также ? SetRepositories .
Чтобы увидеть, какие репозитории R будет искать ваш пакет, и при необходимости выберите несколько дополнительных. По крайней мере, вы обычно хотите CRAN
быть выбранным, иCRAN (extras)
если вы используете Windows, и Bioc*
репозитории, если вы делаете какие-либо[GEN / PROTE / Metabol / транскриптов] omics биологические анализы.
Чтобы навсегда изменить это, добавьте строку, похожую setRepositories(ind = c(1:6, 8))
на ваш Rprofile.site
файл.
3. Пакет отсутствует в выбранных вами репозиториях.
Верните все доступные пакеты, используя
ap <- available.packages()
Смотрите также имена доступных пакетов АиРа , ? Available.packages .
Поскольку это большая матрица, вы можете использовать средство просмотра данных для ее изучения. Кроме того, вы можете быстро проверить, доступен ли пакет, проверив имена строк.
View(ap)
"foobarbaz" %in% rownames(ap)
Кроме того, список доступных пакетов можно увидеть в браузере для CRAN , CRAN (дополнительно) , Bioconductor , R-forge , RForge и github .
Другое возможное предупреждение, которое вы можете получить при взаимодействии с зеркалами CRAN:
Warning: unable to access index for repository
Что может указывать на то, что выбранный репозиторий CRAN в настоящее время недоступен. Вы можете выбрать другое зеркало chooseCRANmirror()
и повторить попытку установки.
Существует несколько причин, по которым пакет может быть недоступен.
4. Вы не хотите посылку
Возможно, вы действительно не хотите посылку. Распространено путать разницу между пакетом и библиотекой или пакетом и набором данных.
Пакет представляет собой стандартизированный набор материалов, расширяющих R, например, предоставляющий код, данные или документацию. Библиотека - это место (каталог), где R знает, как найти пакеты, которые она может использовать.
Чтобы увидеть доступные наборы данных, введите
data()
5. R или Биокондуктор устарел
Он может зависеть от более поздней версии R (или от одного из пакетов, которые он импортирует / зависит от). смотреть на
ap["foobarbaz", "Depends"]
и рассмотрите возможность обновления вашей версии R до текущей версии. В Windows это проще всего сделать черезinstallr
пакета.
library(installr)
updateR()
(Конечно, вам может понадобиться install.packages("installr")
сначала.)
Эквивалентно для пакетов Bioconductor, вам может потребоваться обновить установку Bioconductor.
source("http://bioconductor.org/biocLite.R")
biocLite("BiocUpgrade")
6. Пакет устарел
Возможно, он был заархивирован (если он больше не поддерживается и не проходитR CMD check
тестирование).
В этом случае вы можете загрузить старую версию пакета, используя install_version()
library(remotes)
install_version("foobarbaz", "0.1.2")
Альтернативой является установка с github зеркала CRAN.
library(remotes)
install_github("cran/foobarbaz")
7. Нет бинарного файла для Windows / OS X / Linux
Он может не иметь бинарного файла Windows из-за необходимости дополнительного программного обеспечения, которого нет у CRAN. Кроме того, некоторые пакеты доступны только через источники для некоторых или всех платформ. В этом случае может быть версия в CRAN (extras)
хранилище (см. setRepositories
Выше).
Если пакет требует компиляции кода (например, C, C ++, FORTRAN), то в Windows установите Rtools или в OS X установите инструменты разработчика, сопровождающие XCode, и установите исходную версию пакета через:
install.packages("foobarbaz", type = "source")
# Or equivalently, for Bioconductor packages:
source("http://bioconductor.org/biocLite.R")
biocLite("foobarbaz", type = "source")
В CRAN вы можете узнать, понадобятся ли вам специальные инструменты для сборки пакета из исходного кода, взглянув на NeedsCompilation
флаг в описании.
8. Пакет находится на github / Bitbucket / Gitorious
У него может быть хранилище на Github / Bitbucket / Gitorious. Эти пакеты требуют remotes
пакета для установки.
library(remotes)
install_github("packageauthor/foobarbaz")
install_bitbucket("packageauthor/foobarbaz")
install_gitorious("packageauthor/foobarbaz")
(Как и в случае с installr
вами, вам может понадобиться install.packages("remotes")
сначала.)
9. Исходной версии пакета не существует
Хотя бинарная версия вашего пакета доступна, исходная версия - нет. Вы можете отключить эту проверку, установив
options(install.packages.check.source = "no")
как описано в этом SO ответе imanuelc и разделе Details of ?install.packages
.
10. Пакет находится в нестандартном хранилище
Ваша посылка находится в нестандартном хранилище (например Rbbg
). Предполагая, что он достаточно совместим со стандартами CRAN, вы все равно можете загрузить его, используя install.packages
; вам просто нужно указать URL хранилища.
install.packages("Rbbg", repos = "http://r.findata.org")
RHIPE
с другой стороны, отсутствует в CRAN-подобном хранилище и имеет свои собственные инструкции по установке .