Ric*_*ton 519 installation r repository package r-faq
我尝试使用安装包
install.packages("foobarbaz")
Run Code Online (Sandbox Code Playgroud)
但收到了警告
Warning message:
package 'foobarbaz' is not available (for R version x.y.z)
Run Code Online (Sandbox Code Playgroud)
为什么R不认为该套餐可用?
另请参阅这些问题,并参考此问题的具体实例:
我的软件包不能用于R 2.15.2
软件包"Rbbg"不可用(对于R版本2.15.2)
软件包不可用(对于R版本2.15.2)
软件包doMC不适用于R版本3.0.0警告install.packages
依赖'Rglpk'不适用于'fPortfolio'
软件包当我们的R版本没有软件包时该怎么办?
R版本3.0不适用于R的bigvis包吗?
包'syncwave'/'mvcwt'不可用(对于R版本3.0.2)
包'钻石'不可用(对于R版本3.0.0)R
的plyr包是否不适用于R 3.0.2版?
/sf/ask/1510646301/
无法在R 64 3.0.2
软件包上安装的软件包bigmemory "makeR"不可用(适用于3.0.2版) )
包"RTN"不可用(适用于R版本3.0.1)无法
安装geoR
软件包'twitterR'不可用(对于R版本3.1.0)
如何安装'Rcpp,包?我得到"包不可用"
包"数据集"不可用(对于R版本3.1.1)
"包'rhipe'不可用(对于R版本3.1.2)"
/sf/ 31439092 /包dplyr-是-不可供-R-版本-3-1-1
Ric*_*ton 526
你不能拼写
要测试的第一件事是你正确拼写包的名称吗? 包名称在R中区分大小写.
你没有找到合适的存储库
接下来,您应该检查包是否可用.类型
setRepositories()
Run Code Online (Sandbox Code Playgroud)
另请参见?setRepositories.
要查看哪些存储库R将查找您的包,并选择其他一些存储库.至少,您通常希望CRAN
被选中,CRAN (extras)
如果您使用Windows,则选择Bioc*
存储库(如果您使用的话)[根/ prote /代谢/转录]组学 生物分析.
要永久更改此项,请添加setRepositories(ind = c(1:6, 8))
与Rprofile.site
文件类似的行.
3.包不在您选择的存储库中
使用返回所有可用的包
ap <- available.packages()
Run Code Online (Sandbox Code Playgroud)
另请参阅R的可用包的名称,?available.packages.
由于这是一个大矩阵,您可能希望使用数据查看器来检查它.或者,您可以通过针对行名称进行测试来快速检查包是否可用.
View(ap)
"foobarbaz" %in% rownames(ap)
Run Code Online (Sandbox Code Playgroud)
另外,可用包的列表可以在浏览器中可以看到CRAN,CRAN(临时演员),Bioconductor的,R-锻造,RForge和github上.
与CRAN镜像交互时可能会收到的另一条警告信息是:
Warning: unable to access index for repository
Run Code Online (Sandbox Code Playgroud)
这可能表示所选CRAN存储库当前不可用.您可以选择其他镜像,chooseCRANmirror()
然后再次尝试安装.
包裹可能无法使用的原因有多种.
你不需要包裹
也许你真的不想要一个包.通常会对包和库,包和数据集之间的区别感到困惑.
包是扩展R的标准材料集合,例如提供代码,数据或文档.库是一个地方(目录),R知道它可以找到它可以使用的包
要查看可用数据集,请键入
data()
Run Code Online (Sandbox Code Playgroud)
5. R或Bioconductor已过期
它可能依赖于更新版本的R(或其导入/依赖的其中一个软件包).看着
ap["foobarbaz", "Depends"]
Run Code Online (Sandbox Code Playgroud)
并考虑将R安装更新到当前版本.在Windows上,这最容易通过installr
包完成.
library(installr)
updateR()
Run Code Online (Sandbox Code Playgroud)
(当然,你可能需要install.packages("installr")
先.)
对于Bioconductor包,您可能需要更新Bioconductor安装.
source("http://bioconductor.org/biocLite.R")
biocLite("BiocUpgrade")
Run Code Online (Sandbox Code Playgroud)
6.包裹已过期
它可能已存档(如果不再维护并且不再通过R CMD check
测试).
在这种情况下,您可以使用加载旧版本的包 install_version()
library(remotes)
install_version("foobarbaz", "0.1.2")
Run Code Online (Sandbox Code Playgroud)
另一种方法是从github CRAN镜像安装.
library(remotes)
install_github("cran/foobarbaz")
Run Code Online (Sandbox Code Playgroud)
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")
Run Code Online (Sandbox Code Playgroud)
在CRAN上,您可以通过查看NeedsCompilation
描述中的标志来判断是否需要使用特殊工具从源代码构建包.
8.包装在github/Bitbucket/Gitorious上
它可能在Github/Bitbucket/Gitorious上有一个存储库.这些包需要remotes
安装包.
library(remotes)
install_github("packageauthor/foobarbaz")
install_bitbucket("packageauthor/foobarbaz")
install_gitorious("packageauthor/foobarbaz")
Run Code Online (Sandbox Code Playgroud)
(和installr
你一样,你可能需要install.packages("remotes")
先.)
9.包没有源版本
虽然包的二进制版本可用,但源版本不可用.您可以通过设置关闭此检查
options(install.packages.check.source = "no")
Run Code Online (Sandbox Code Playgroud)
正如imanuelc及其详细信息部分所述的回答所述?install.packages
.
10.程序包位于非标准存储库中
您的包位于非标准存储库中(例如Rbbg
).假设它合理地符合CRAN标准,您仍然可以使用下载它install.packages
; 你只需要指定存储库URL.
install.packages("Rbbg", repos = "http://r.findata.org")
Run Code Online (Sandbox Code Playgroud)
RHIPE
另一方面,它不在类似CRAN的存储库中,并且有自己的安装说明.
Dmi*_*try 89
在最新的R(3.2.3)中有一个错误,有时会阻止它找到正确的包.解决方法是手动设置存储库:
install.packages("lubridate", dependencies=TRUE, repos='http://cran.rstudio.com/')
Run Code Online (Sandbox Code Playgroud)
在其他问题找到解决方案
小智 23
某些版本的R
和版似乎有问题libcurl
.我遇到了同样的问题Mac (R version 3.2.2)
,Ubuntu (R version 3.0.2)
并且在两个实例中都只是通过在install.packages
命令之前运行它来解决它
options(download.file.method = "wget")
Run Code Online (Sandbox Code Playgroud)
该解决方案是由朋友提出的,但是,我无法在任何论坛中找到它,因此将答案提交给其他人.
Pal*_*diN 17
这个解决方案可能会破坏R,但这是一个最简单的解决方案,可以在99%的时间内工作
你需要做的只是:
install.packages('package-name',repos =' http://cran.us.r-project.org ')
正如作者在这里提到的那样
Jen*_*Lim 14
Ctrl
+F
install.packages("https://cran.r-project.org/src/contrib/Archive/[NAME OF PACKAGE]/[VERSION NUMBER].tar.gz", repos = NULL, type="source")
”在某些情况下,您需要提前安装多个软件包才能使用您要使用的软件包。
例如,我需要安装 7 个包(Sejong
, hash
, rJava
, tau
, RSQLite
, devtools
, stringr
)来安装KoNLP
package.json 。
install.packages('Sejong')
install.packages('hash')
install.packages('rJava')
install.packages('tau')
install.packages('RSQLite')
install.packages('devtools')
install.packages('stringr')
library(Sejong)
library(hash)
library(rJava)
library(tau)
library(RSQLite)
library(devtools)
library(stringr)
install.packages("https://cran.r-project.org/src/contrib/Archive/KoNLP/KoNLP_0.80.2.tar.gz", repos = NULL, type="source")
library(KoNLP)
Run Code Online (Sandbox Code Playgroud)
dar*_*sco 13
11. R(或其他依赖项)已过期,您不想更新它.
警告这不是最佳做法.
DESCRIPTION
文件.使用文本编辑器删除违规行,例如
Depends: R (>= 3.1.1)
Run Code Online (Sandbox Code Playgroud)从本地安装(即从父目录安装DESCRIPTION
),例如
install.packages("foo", type="source", repos=NULL)
Run Code Online (Sandbox Code Playgroud)我遇到的一件事是我的linux发行版提供的R版本(Ubuntu 14.04提供的R版本3.0.2)对于CRAN上可用的最新版软件包来说太旧了(在我的例子中,plyr
版本为1.8.3)截至今日).解决方案是使用我的发行版的打包系统,而不是尝试从R安装(apt-get install r-cran-plyr
得到我的1.8.1版plyr
).也许我本可以尝试更新R使用updateR()
,但我担心这样做会干扰我的发行版的包管理器.
这节省了我很多时间调试错误.在许多情况下,镜子已经过时了.此函数可以使用以下命令安装多个包及其依赖项https://cran.rstudio.com/
:
packages <- function(pkg){
new.pkg <- pkg[!(pkg %in% installed.packages()[, "Package"])]
if (length(new.pkg))
install.packages(new.pkg, dependencies = TRUE, repos='https://cran.rstudio.com/')
sapply(pkg, require, character.only = TRUE)
}
packages(c("foo", "bar", "baz"))
Run Code Online (Sandbox Code Playgroud)
小智 6
当我收到相同的警告时,这就是我最终可以在 R-3.4.1 中安装 psych 包的方法
1:谷歌搜索那个包。
2:手动下载 tar.gz 扩展名
3:在R中选择“Package Archive File (.zip;.tar.gz)”选项来安装包
4:本地浏览到下载的地方,点击安装
您可能会收到警告:依赖项 'xyz' 不适用于该软件包,然后首先从存储库安装它们,然后执行步骤 3-4。
我在repos=NULL
从源代码安装 R 包时犯了忘记放置的错误。在这种情况下,错误消息有点误导:package 'foobarbaz' is not available (for R version x.y.z)
问题不在于 R 的版本,而在于repos
参数。我做install.packages('path/to/source/code/of/foobarbaz', type='source', repos=NULL)
了在这个场合对我有用的方法。
希望这可以帮助某人。
归档时间: |
|
查看次数: |
573408 次 |
最近记录: |