通过环境.yml 文件使用 conda 安装 R 包

Chr*_*nds 12 installation r anaconda conda miniconda

通常我会创建 conda 环境,例如......

conda env create -f environment.yml
conda activate env_name
Run Code Online (Sandbox Code Playgroud)

通常我使用 Python 工作,典型的environment.yml简单文件可能如下所示......

name: env_name
dependencies:
  - python=3.7
  - pip=19.3
  - pandas=0.24.2
  - pip:
    - scipy==1.2.1
Run Code Online (Sandbox Code Playgroud)

environment.yml安装 R 软件包的文件应该是什么样子?包裹在 CRAN 上

mer*_*erv 15

一般经验法则是,大多数 R 包在 Anaconda Cloud 中都有相应的包,并r-添加了前缀。虽然默认频道涵盖了常用的软件包,但conda-forge频道对 CRAN 的覆盖最为全面,并且具有用于添加新软件包的有用脚本。我通常建议在创建 R 环境时优先考虑conda-forge

对于生物信息学家来说,所有 Bioconductor 软件包都可以通过bioconda渠道获得,并带有bioconductor-前缀和小写字母。例如,SingleCellExperiment打包为bioconductor-singlecellexperiment.

一个好的起点是简单地搜索 Anaconda Cloud(示例搜索)。

例子

假设您想要tidyverse伞包并希望使用 R v4.1。一个 YAML 是这样的

name: my_r_env
channels:
 - conda-forge
dependencies:
 - r-base=4.1
 - r-tidyverse
Run Code Online (Sandbox Code Playgroud)

补充笔记

避免在任何 R 会话中使用install.packages()- 由于 R 实例不知道在环境内部进行编译,因此很容易出现动态链接问题。对于纯 R 包来说这不是问题,但在这种情况下,将包添加到conda-forge应该很简单(需要大约 15 分钟的工作和大约 12-24 小时的周转,IME)。

避免使用 Conda 中的 RStudio 包 - 这是一个废弃的项目,旧版本与新的 R 版本不兼容。一旦RStudio 从 Qt 切换到 Electron ,这可能会改变。尽管如此,还是有更好的方法将环境加载到 RStudio 中,而无需在环境中安装完整的 IDE 。

  • ....什么时候不能通过这些渠道获得? (5认同)