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-подобном хранилище и имеет свои собственные инструкции по установке .