如何安装 "R-essentials" 中不可用的 R 包?
How to install R packages that are not available in "R-essentials"?
我使用开箱即用的 Anaconda 安装来处理 Python。现在我已经读到,在这个安装中也可以 "include" R 世界并在 Jupyter/Ipython notebook.[=11= 中使用 IR 内核]
我找到了安装一些著名 R 包的命令:
康达安装-c r r-essentials
我的初学者问题:
如何安装未包含在 R-essential 包中的 R 包?例如 CRAN 上可用的 R 包。 "pip" 仅适用于 PyPI Python 包,不是吗?
现在我找到了文档:
这是解释如何生成仅在 CRAN 存储库中可用的 R 包的文档:
https://www.continuum.io/content/conda-data-science
转到第 "Building a conda R package".
部分
(提示:只要 anaconda.org 下的 R 包可用,请使用此资源。请参阅此处:https://www.continuum.io/blog/developer/jupyter-and-conda-r)
alistaire的回答是另一种添加R包的可能性:
如果您通过常规 install.packages
(来自 CRAN 镜像)或 devtools::install_github
(来自 GitHub)从 R 内部安装包,它们工作正常。 @alistaire
如何操作:
打开您的(独立)R 安装,然后 运行 以下命令:
install.packages("png", "/home/user/anaconda3/lib/R/library")
将新包添加到 Jupyter 使用的正确 R 库中,否则该包将安装在 /home/user/R/i686-pc-linux-gnu-library/3.2/png/libs 中 .libPaths().
在 Jupyter 上安装除 R-essentials 之外的其他 R 包
install.packages('readr', repos='http://cran.us.r-project.org')
一个问题是特定的存储库是 US.R-Project
(如下所示)。我试过其他的也没用。
N.B。将 readr
替换为要安装的任何所需的包名称。
我在使用 r-essentials 的 conda 中使用 install_github("user/package")
从 github 安装软件包时遇到了问题。错误有多个且没有描述性。
能够使用以下步骤解决问题:
- 下载并解压到本地
- 激活正确的 conda 环境(如果需要)
- 运行 来自命令行的 R
library(devtools)
install('/path/to/unzipped-package')
- 命令因缺少依赖项而失败,但现在我知道缺少什么了!
- 运行
install.packages('missing-package', repos='http://cran.us.r-project.org')
所有依赖关系
再次 - 运行
install('/path/to/unzipped-package')
。现在它应该工作了!
我找到了一个简单的解决方法。我想你有一个 RStudio IDE 用于你的 R。为此使用 RStudio 很奇怪,但我在我的终端中直接从 R 尝试但它没有用。因此,在 RStudio 控制台中,只需像往常一样将路径添加到您的 anaconda 目录中(在 OSX、'/Users/yourusernamehere/anaconda/lib/R/library')
所以,例如,
install.packages('package','/Users/yourusernamehere/anaconda/lib/R/library')
我为 post 这样一个不花哨的答案感到羞愧,但这是唯一对我有用的答案。
有人提出了一个不太优雅的解决方法,但实际上只要它工作正常就没关系。
install.packages('package','/Users/yourusernamehere/anaconda/lib/R/library')
我花了将近一上午的时间来寻找这个问题的答案。我能够在 RStudio 上安装这些库,但不能在 Jupyter Notebook 上安装(它们有不同版本的 R) 上面的解决方案“几乎”有效,只是我发现 Jupyter Notebook 试图安装在不同的目录中,它会报告什么目录。所以我只改变了它并且它起到了魅力......感谢 Dninhos
使用 conda 安装 rpy2 并在您的 Jupyter 笔记本中添加以下行。
%load_ext rpy2.ipython
在接下来的块中,您可以通过指定 %R
简单地 运行 任何 r 代码
下面是我最喜欢的安装方法and/or加载r包
%R if (!require("pacman")) install.packages("pacman")
%R pacman::p_load(dplyr, data.table, package3, package4)
p_load 参数将 安装 + 加载 包 如果它不在你的库中 否则它将简单地加载它。
这是一个以 conda 为中心的答案。它建立在 Frank 的回答和 continuum 网站的基础上:https://www.continuum.io/content/conda-data-science 有更多的细节。
一些在 r-essentials 中不可用的包在 conda 频道上仍然可用,在这种情况下,很简单:
conda config --add channels r
conda install r-readxl
如果您需要构建一个包并使用 conda 安装:
conda skeleton cran r-xgboost
conda build r-xgboost
conda install --use-local r-xgboost
continuum 网站中没有最后一行,因为他们假设它首先发布到 anaconda 存储库。没有它,envs/ 目录中将没有任何内容,命令行 R 或 Jupyter 将无法访问该包。
在 mac 上,我发现为包构建安装 Clang 编译器很重要:
conda install clangxx_oxs-64
在此处添加它,以便其他已经使用 Jupyter notebooks Python 并有兴趣将其与 R 一起使用的初学者:可以使用用于安装基本包的相同命令通过终端安装可用于 Anaconda 的其他包.
安装 r-essentials
conda install -c r r-essentials
安装微基准(用于准确测量和比较 R 表达式执行时间的基础设施)
conda install -c r r-microbenchmark
从命令行安装 CRAN 包:
R --slave -e "install.packages('missing-package', repos='http://cran.us.r-project.org')"
使用 Conda Forge
距离最初的问题已经五年了,我断言一个更现代的解决方案就是:使用Conda Forge。 Conda Forge 频道不仅提供更广泛的 CRAN 覆盖,而且还具有简单的程序和极短的周转时间(通常不到 24 小时),可以将缺少的 CRAN 包添加到频道。
从 Conda Forge 开始
我建议将 Conda Forge 用于完整堆栈,并为您需要的每个 R 版本使用专用环境。
conda create -n r41 -c conda-forge r-base=4.1 r-irkernel ...
其中 ...
是您需要的任何附加包(如 r-tidyverse
)。 r-irkernel
包是可选的,但包含在这里是因为 OP 提到在 Jupyter 中使用 R。
如果你的 Jupyter 环境(应该在一个单独的环境中)也安装了 nb_conda_kernels
,那么这个环境会被 Jupyter 自动发现。
从 Conda Forge 安装
通常,CRAN 上的所有 R 包在 Conda Forge 上的包名称都有一个 r-
前缀。因此,如果您感兴趣的套餐是 pkgname
,请先尝试
conda install -n r41 -c conda-forge r-pkgname
如果该包不可用,则继续添加或请求它。
使用 Conda R Skeleton Helper 提交 CRAN 包
有一个有用的脚本集合,名为 conda_r_skeleton_helper for creating new Conda Forge recipes for CRAN packages. There are clear directions in the README。
大体上,一会
- 克隆
conda_r_skeleton_helper
存储库
- 编辑
packages.txt
文件以包含 r-pkgname
- 运行 生成配方的脚本
- 分叉并克隆
conda-forge/staged-recipes
- 将新配方文件夹复制到
stage-recipes/recipes
文件夹
- 提交更改,推送到分支,然后将合并请求提交回 Conda Forge
这可能需要大约 15 分钟的工作时间。提交后,大多数包需要不到 24 小时的时间才能被接受、储存并部署到 Conda Forge 频道。一旦原料启动并 运行ning,Conda Forge 基础设施使用机器人自动检测版本更新,生成新的拉取请求,甚至自动合并成功构建的拉取请求。也就是说,维护人员的工作量非常小,如果有问题,有团队可以提供帮助。
提交包裹请求
对于不习惯创建和维护 Conda Forge 构建的用户,可以通过 filing a new Issue 在 Conda Forge 的 staged-recipes
存储库中请求软件包。 Package Request 有一个模板,其中包含一些要填写的信息字段。
对我有用的是 install.packages("package_name", type="binary")
。
None 其他答案有效。
我使用开箱即用的 Anaconda 安装来处理 Python。现在我已经读到,在这个安装中也可以 "include" R 世界并在 Jupyter/Ipython notebook.[=11= 中使用 IR 内核]
我找到了安装一些著名 R 包的命令: 康达安装-c r r-essentials
我的初学者问题:
如何安装未包含在 R-essential 包中的 R 包?例如 CRAN 上可用的 R 包。 "pip" 仅适用于 PyPI Python 包,不是吗?
现在我找到了文档:
这是解释如何生成仅在 CRAN 存储库中可用的 R 包的文档: https://www.continuum.io/content/conda-data-science
转到第 "Building a conda R package".
部分(提示:只要 anaconda.org 下的 R 包可用,请使用此资源。请参阅此处:https://www.continuum.io/blog/developer/jupyter-and-conda-r)
alistaire的回答是另一种添加R包的可能性:
如果您通过常规 install.packages
(来自 CRAN 镜像)或 devtools::install_github
(来自 GitHub)从 R 内部安装包,它们工作正常。 @alistaire
如何操作: 打开您的(独立)R 安装,然后 运行 以下命令:
install.packages("png", "/home/user/anaconda3/lib/R/library")
将新包添加到 Jupyter 使用的正确 R 库中,否则该包将安装在 /home/user/R/i686-pc-linux-gnu-library/3.2/png/libs 中 .libPaths().
在 Jupyter 上安装除 R-essentials 之外的其他 R 包
install.packages('readr', repos='http://cran.us.r-project.org')
一个问题是特定的存储库是 US.R-Project
(如下所示)。我试过其他的也没用。
N.B。将 readr
替换为要安装的任何所需的包名称。
我在使用 r-essentials 的 conda 中使用 install_github("user/package")
从 github 安装软件包时遇到了问题。错误有多个且没有描述性。
能够使用以下步骤解决问题:
- 下载并解压到本地
- 激活正确的 conda 环境(如果需要)
- 运行 来自命令行的 R
library(devtools)
install('/path/to/unzipped-package')
- 命令因缺少依赖项而失败,但现在我知道缺少什么了!
- 运行
install.packages('missing-package', repos='http://cran.us.r-project.org')
所有依赖关系
再次 - 运行
install('/path/to/unzipped-package')
。现在它应该工作了!
我找到了一个简单的解决方法。我想你有一个 RStudio IDE 用于你的 R。为此使用 RStudio 很奇怪,但我在我的终端中直接从 R 尝试但它没有用。因此,在 RStudio 控制台中,只需像往常一样将路径添加到您的 anaconda 目录中(在 OSX、'/Users/yourusernamehere/anaconda/lib/R/library')
所以,例如,
install.packages('package','/Users/yourusernamehere/anaconda/lib/R/library')
我为 post 这样一个不花哨的答案感到羞愧,但这是唯一对我有用的答案。
有人提出了一个不太优雅的解决方法,但实际上只要它工作正常就没关系。
install.packages('package','/Users/yourusernamehere/anaconda/lib/R/library')
我花了将近一上午的时间来寻找这个问题的答案。我能够在 RStudio 上安装这些库,但不能在 Jupyter Notebook 上安装(它们有不同版本的 R) 上面的解决方案“几乎”有效,只是我发现 Jupyter Notebook 试图安装在不同的目录中,它会报告什么目录。所以我只改变了它并且它起到了魅力......感谢 Dninhos
使用 conda 安装 rpy2 并在您的 Jupyter 笔记本中添加以下行。
%load_ext rpy2.ipython
在接下来的块中,您可以通过指定 %R
简单地 运行 任何 r 代码下面是我最喜欢的安装方法and/or加载r包
%R if (!require("pacman")) install.packages("pacman")
%R pacman::p_load(dplyr, data.table, package3, package4)
p_load 参数将 安装 + 加载 包 如果它不在你的库中 否则它将简单地加载它。
这是一个以 conda 为中心的答案。它建立在 Frank 的回答和 continuum 网站的基础上:https://www.continuum.io/content/conda-data-science 有更多的细节。
一些在 r-essentials 中不可用的包在 conda 频道上仍然可用,在这种情况下,很简单:
conda config --add channels r
conda install r-readxl
如果您需要构建一个包并使用 conda 安装:
conda skeleton cran r-xgboost
conda build r-xgboost
conda install --use-local r-xgboost
continuum 网站中没有最后一行,因为他们假设它首先发布到 anaconda 存储库。没有它,envs/ 目录中将没有任何内容,命令行 R 或 Jupyter 将无法访问该包。
在 mac 上,我发现为包构建安装 Clang 编译器很重要:
conda install clangxx_oxs-64
在此处添加它,以便其他已经使用 Jupyter notebooks Python 并有兴趣将其与 R 一起使用的初学者:可以使用用于安装基本包的相同命令通过终端安装可用于 Anaconda 的其他包.
安装 r-essentials
conda install -c r r-essentials
安装微基准(用于准确测量和比较 R 表达式执行时间的基础设施)
conda install -c r r-microbenchmark
从命令行安装 CRAN 包:
R --slave -e "install.packages('missing-package', repos='http://cran.us.r-project.org')"
使用 Conda Forge
距离最初的问题已经五年了,我断言一个更现代的解决方案就是:使用Conda Forge。 Conda Forge 频道不仅提供更广泛的 CRAN 覆盖,而且还具有简单的程序和极短的周转时间(通常不到 24 小时),可以将缺少的 CRAN 包添加到频道。
从 Conda Forge 开始
我建议将 Conda Forge 用于完整堆栈,并为您需要的每个 R 版本使用专用环境。
conda create -n r41 -c conda-forge r-base=4.1 r-irkernel ...
其中 ...
是您需要的任何附加包(如 r-tidyverse
)。 r-irkernel
包是可选的,但包含在这里是因为 OP 提到在 Jupyter 中使用 R。
如果你的 Jupyter 环境(应该在一个单独的环境中)也安装了 nb_conda_kernels
,那么这个环境会被 Jupyter 自动发现。
从 Conda Forge 安装
通常,CRAN 上的所有 R 包在 Conda Forge 上的包名称都有一个 r-
前缀。因此,如果您感兴趣的套餐是 pkgname
,请先尝试
conda install -n r41 -c conda-forge r-pkgname
如果该包不可用,则继续添加或请求它。
使用 Conda R Skeleton Helper 提交 CRAN 包
有一个有用的脚本集合,名为 conda_r_skeleton_helper for creating new Conda Forge recipes for CRAN packages. There are clear directions in the README。
大体上,一会
- 克隆
conda_r_skeleton_helper
存储库 - 编辑
packages.txt
文件以包含r-pkgname
- 运行 生成配方的脚本
- 分叉并克隆
conda-forge/staged-recipes
- 将新配方文件夹复制到
stage-recipes/recipes
文件夹 - 提交更改,推送到分支,然后将合并请求提交回 Conda Forge
这可能需要大约 15 分钟的工作时间。提交后,大多数包需要不到 24 小时的时间才能被接受、储存并部署到 Conda Forge 频道。一旦原料启动并 运行ning,Conda Forge 基础设施使用机器人自动检测版本更新,生成新的拉取请求,甚至自动合并成功构建的拉取请求。也就是说,维护人员的工作量非常小,如果有问题,有团队可以提供帮助。
提交包裹请求
对于不习惯创建和维护 Conda Forge 构建的用户,可以通过 filing a new Issue 在 Conda Forge 的 staged-recipes
存储库中请求软件包。 Package Request 有一个模板,其中包含一些要填写的信息字段。
对我有用的是 install.packages("package_name", type="binary")
。
None 其他答案有效。