Fra*_*ank 31
现在我找到了文档:
这是解释如何生成仅在CRAN存储库中可用的R包的文档:https://www.continuum.io/content/conda-data-science
转到"构建conda R包"部分.
(提示:只要在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")
Run Code Online (Sandbox Code Playgroud)
将新包添加到Jupyter使用的正确R库中,否则该包将安装在.libPaths()中提到的/home/user/R/i686-pc-linux-gnu-library/3.2/png/libs中.
小智 24
在R-essentials之外的Jupyter上安装其他R软件包
install.packages('readr', repos='http://cran.us.r-project.org')
Run Code Online (Sandbox Code Playgroud)
一个问题是特定的存储库是US.R-Project
(如下所示).我尝试了其他人,但没有用.
NB替换readr
为要安装的任何所需包名称.
Zig*_*ien 13
这是一个以康茄为中心的答案.它建立在弗兰克的答案和连续统一网站的基础上:https://www.continuum.io/content/conda-data-science,更详细一点.
一些在r-essentials中不可用的软件包仍然可以在conda频道上使用,在这种情况下,它很简单:
conda config --add channels r
conda install r-readxl
Run Code Online (Sandbox Code Playgroud)
如果您需要构建一个包并使用conda进行安装:
conda skeleton cran r-xgboost
conda build r-xgboost
conda install --use-local r-xgboost
Run Code Online (Sandbox Code Playgroud)
连续体网站中缺少最后一行,因为它们假设它首先发布到anaconda存储库.如果没有它,将不会在envs /目录中放入任何内容,并且命令行R或Jupyter将无法访问该包.
在mac上,我发现为包构建安装Clang编译器很重要:
conda install clangxx_oxs-64
Run Code Online (Sandbox Code Playgroud)
Den*_*hos 12
我找到了一个简单的解决方法.我想你有一个RStudio IDE.使用RStudio是很奇怪的,但是我在终端直接尝试了R,它没有用.所以,在RStudio控制台中,只需通常添加到anaconda目录的路径(在OSX中,'/ Users/yourusernamehere/anaconda/lib/R/library')
所以,例如,
install.packages('package','/Users/yourusernamehere/anaconda/lib/R/library')
Run Code Online (Sandbox Code Playgroud)
发布这样一个非常奇特的答案我感到很惭愧,但这是唯一对我有用的答案.
要从命令行安装 CRAN 包:
R --slave -e "install.packages('missing-package', repos='http://cran.us.r-project.org')"
Run Code Online (Sandbox Code Playgroud)
披露:虽然我第一次回答这个问题时情况并非如此,但我现在是Conda Forge R 团队的一员。然而,这是志愿者工作——我在那里的工作没有得到任何补偿,也无论你是否遵循这个答案中的建议。
距最初的问题五年后,我断言更现代的解决方案就是:使用Conda Forge。Conda Forge 通道不仅提供更广泛的 CRAN 覆盖范围,而且还具有简单的程序和较长的周转时间(通常低于 24 小时),可以将缺失的 CRAN 包添加到通道中。
我建议使用 Conda Forge 来实现完整堆栈,并为您需要的每个 R 版本使用专用环境。
conda create -n r41 -c conda-forge r-base=4.1 r-irkernel ...
Run Code Online (Sandbox Code Playgroud)
哪里...
是您需要的任何附加包(例如r-tidyverse
)。该r-irkernel
包是可选的,但包含在此处,因为 OP 提到在 Jupyter 中使用 R。
如果您的 Jupyter 环境(应该在单独的环境中)也已nb_conda_kernels
安装,那么 Jupyter 将自动发现该环境。
一般来说,CRAN 上的所有 R 包r-
在 Conda Forge 上的包名称都有一个前缀,并且包名称会转换为小写。所以,如果您感兴趣的套餐是PkgName
,请先尝试
conda install -n r41 -c conda-forge r-pkgname
Run Code Online (Sandbox Code Playgroud)
如果该包不可用,则继续添加或请求它。
有一个有用的脚本集合,称为conda_r_sculpture_helper,用于为 CRAN 包创建新的 Conda Forge 配方。README中有明确的指示。
从广义上讲,人们会
conda_r_skeleton_helper
存储库packages.txt
文件以包含r-pkgname
conda-forge/staged-recipes
stage-recipes/recipes
文件夹中这可能需要大约 15 分钟的工作时间。提交后,大多数软件包需要不到 24 小时才能被接受、提供原料并部署到 Conda Forge 渠道。一旦原料启动并运行,Conda Forge 基础设施就会使用机器人自动检测版本更新、生成新的拉取请求,甚至自动合并成功构建的拉取请求。也就是说,维护人员的工作量非常小,如果出现问题,团队可以提供帮助。
就我个人而言,我已经编写了所有这些脚本(请参阅脚本)。我在我的分支的本地副本的根目录中有这些脚本的副本staged-recipes
。我从 shell 运行:
sh new-cran-pkg.sh r-foo
Run Code Online (Sandbox Code Playgroud)
它:
staged-recipes
主分支同步到上游 ( conda-forge
)。r-foo
。conda_r_skeleton_helper
运行包的最新副本(此处r-foo
)。然后我只需访问 GitHub 即可设置 Pull 请求。需要不到一分钟。
如果您在提交菜谱或更新现有菜谱时遇到问题,请在 GitHub 问题或拉取请求 ( @mfansler
) 中联系我。
对于对创建和维护 Conda Forge 构建感到不舒服的用户,可以通过提交新的 Issuestaged-recipes
在 Conda Forge 的存储库上请求包。有一个包裹请求模板,其中包含一些需要填写的信息字段。
小智 5
在这里添加它,以便其他已经使用 Python 使用 Jupyter 笔记本并有兴趣将其与 R 一起使用的初学者:可以使用用于安装基本软件包的相同命令通过终端安装适用于 Anaconda 的其他软件包。
安装必需品
conda install -c r r-essentials
Run Code Online (Sandbox Code Playgroud)
安装 microbenchmark(用于准确测量和比较 R 表达式执行时间的基础设施)
conda install -c r r-microbenchmark
Run Code Online (Sandbox Code Playgroud)