1.你不会拼写
首先要测试的是您是否正确拼写了包裹名称?R 中的包名称区分大小写。
2.您没有查看正确的存储库
接下来,您应该检查该包是否可用。类型
setRepositories()
也可以看看?setRepositories https://www.rdocumentation.org/packages/utils/topics/setRepositories.
要查看 R 将在哪些存储库中查找您的包,并可选择选择一些其他存储库。至少,你通常会想要CRAN
被选中,并且CRAN (extras)
如果您使用 Windows,并且Bioc*
如果您进行任何生物学分析,则需要使用存储库。
要永久更改此设置,请添加一行,例如setRepositories(ind = c(1:6, 8))
给你的Rprofile.site https://www.rdocumentation.org/packages/base/topics/Startup file.
3. 该包不在您选择的存储库中
使用返回所有可用的包
ap <- available.packages()
也可以看看R 可用包的名称 https://stackoverflow.com/q/7381932/134830, ?可用.packages https://www.rdocumentation.org/packages/utils/topics/available.packages.
由于这是一个很大的矩阵,您可能希望使用数据查看器来检查它。或者,您可以通过测试行名称来快速检查包是否可用。
View(ap)
"foobarbaz" %in% rownames(ap)
或者,可以在浏览器中查看可用软件包的列表CRAN http://cran.r-project.org/web/packages/available_packages_by_name.html, 克兰(额外) http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/, 生物导体 http://www.bioconductor.org/packages/release/BiocViews.html#___Software, R-forge https://r-forge.r-project.org/softwaremap/full_list.php, RForge http://rforge.net/, and .
与 CRAN 镜像交互时您可能收到的另一个可能的警告消息是:
Warning: unable to access index for repository
这可能表明所选的 CRAN 存储库当前不可用。您可以选择不同的镜子chooseCRANmirror()
并再次尝试安装。
软件包不可用的原因有多种。
4.你不想要包裹
也许您并不真正想要一个包裹。人们很容易对两者之间的区别感到困惑一个包和一个库 http://cran.r-project.org/doc/FAQ/R-FAQ.html#What-is-the-difference-between-package-and-library_003f,或者一个包和一个数据集。
包是扩展 R 的材料的标准化集合,例如提供代码、数据或文档。库是 R 知道找到它可以使用的包的地方(目录)
要查看可用的数据集,请键入
data()
5. R或Bioconductor已经过时了
它可能依赖于更新版本的 R(或者它导入/依赖的包之一)。看着
ap["foobarbaz", "Depends"]
并考虑将 R 安装更新到当前版本。在 Windows 上,这最容易通过installr https://cran.r-project.org/web/packages/installr/index.html包裹。
library(installr)
updateR()
(当然,您可能需要install.packages("installr")
first.)
同样,对于 Bioconductor 软件包,您可能需要更新您的 Bioconductor 安装。
source("http://bioconductor.org/biocLite.R")
biocLite("BiocUpgrade")
6. 包已过期
可能是archived http://cran.r-project.org/src/contrib/Archive/(如果不再维护并且不再通过R CMD check https://www.rdocumentation.org/packages/utils/topics/PkgUtils tests).
在这种情况下,您可以使用加载旧版本的包install_version() https://www.rdocumentation.org/packages/remotes/topics/install_version
library(remotes)
install_version("foobarbaz", "0.1.2")
另一种方法是从 GitHub CRAN 镜像安装。
library(remotes)
install_github("cran/foobarbaz")
7. 没有 Windows/OS X/Linux 二进制文件
它可能没有Windows 二进制文件 http://cran.r-project.org/bin/windows/contrib/3.2/ReadMe由于需要 CRAN 没有的额外软件。此外,某些软件包只能通过某些或所有平台的源获得。在这种情况下,可能有一个版本CRAN (extras)
存储库(参见setRepositories
above).
如果包需要编译代码(例如 C、C++、FORTRAN),则在 Windows 上安装Rtools http://cran.r-project.org/bin/windows/Rtools/或在 OS X 上安装开发者工具 https://stackoverflow.com/q/9329243/324364附带的 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 https://cran.r-project.org/web/packages/remotes/index.html要安装的包。
library(remotes)
install_github("packageauthor/foobarbaz")
install_bitbucket("packageauthor/foobarbaz")
install_gitorious("packageauthor/foobarbaz")
(与installr
,你可能需要install.packages("remotes")
first.)
9. 没有源码版本的包
尽管包的二进制版本可用,但源版本不可用。您可以通过设置关闭此检查
options(install.packages.check.source = "no")
如中所述imanuelc 的这个答案 https://stackoverflow.com/a/13223715/134830和详细信息部分?install.packages https://www.rdocumentation.org/packages/utils/topics/install.packages.
10. 该包位于非标准存储库中
您的包位于非标准存储库中(例如Rbbg https://stackoverflow.com/questions/13807729/package-rbbg-is-not-available-for-r-version-2-15-2)。假设它合理地符合 CRAN 标准,您仍然可以使用以下方式下载它install.packages
;您只需指定存储库 URL。
install.packages("Rbbg", repos = "http://r.findata.org")
RHIPE http://www.datadr.org另一方面,它不在类似 CRAN 的存储库中,并且有自己的安装说明 http://www.datadr.org/install.html.