1.你不能拼写
要测试的第一件事是您是否正确拼写了包装名称? 程序包名称在R中区分大小写。
2.您没有在正确的存储库中查找
接下来,您应该检查包装是否可用。类型
setRepositories()
也可以看看 ?setRepositories。
要查看R将寻找哪个存储库,并选择其他一些存储库。至少,您通常会想要CRAN
被选中,并且CRAN (extras)
如果您使用的是Windows,则选择Bioc*
存储库。[gen / prote / metabol / transcript]组学 生物学分析。
要永久更改此设置,setRepositories(ind = c(1:6, 8))
请在Rprofile.site
文件中添加一行。
3.该软件包不在您选择的存储库中
使用以下命令返回所有可用的软件包
ap <- available.packages()
另见的r可用的软件包的名称,?available.packages。
由于这是一个大矩阵,因此您可能希望使用数据查看器进行检查。另外,您可以通过对行名进行测试来快速检查包是否可用。
View(ap)
"foobarbaz" %in% rownames(ap)
另外,可用包的列表可以在浏览器中可以看到CRAN,CRAN(临时演员),Bioconductor的,R-锻造,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二进制文件
由于需要CRAN所没有的其他软件,它可能没有Windows二进制文件。此外,某些软件包仅可通过某些或所有平台的来源获得。在这种情况下,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")
如imanuelc的SO解答和的Details部分中所述?install.packages
。
10.软件包位于非标准存储库中
您的软件包位于非标准存储库中(例如Rbbg
)。假设它合理地符合CRAN标准,您仍然可以使用来下载它install.packages
;您只需要指定存储库URL。
install.packages("Rbbg", repos = "http://r.findata.org")
RHIPE
另一方面,它不在类似CRAN的存储库中,而是具有自己的安装说明。