R?中的虚拟环境

sr4lhrrt  于 2023-02-26  发布在  其他
关注(0)|答案(6)|浏览(201)

我发现了一些关于R中的最佳实践、可重复性和工作流程的帖子,例如:

其中一个主要的关注点是确保代码的可移植性,因为将代码移动到新的机器(可能运行不同的操作系统)相对简单,并且得到相同的结果。
作为一个Python背景,我已经习惯了虚拟环境的概念。当加上一个所需包的简单列表时,这在某种程度上可以确保安装的包和库在任何机器上都可用,而不会太麻烦。当然,这不能保证--不同的操作系统有它们自己的弱点和特点--但它可以让你达到95%的目标。
这样的东西在R中存在吗?即使它不那么复杂。例如,简单地维护一个所需软件包的纯文本列表和一个安装任何缺失软件包的脚本?
我即将开始第一次认真地使用R,可能是和Swave一起使用,我希望以最好的方式开始!谢谢你的想法。

plicqrtu

plicqrtu1#

我将使用@cboettig发布的评论来解决这个问题。

Package 工

Packrat是R的一个依赖管理系统。给你三个重要的优势(都集中在你的可移植性需求上)

  • 独立的:为一个项目安装一个新的或更新的包不会破坏其他项目,反之亦然,这是因为packrat为每个项目提供了自己的私有包库。
  • 可移植:轻松地将您的项目从一台计算机传输到另一台计算机,甚至跨不同的平台。Packrat使安装您的项目所依赖的软件包变得容易。
  • 重现性:Packrat记录了您所依赖的软件包的确切版本,并确保这些确切版本是无论您走到哪里都要安装的版本。

下一步是什么?

1.演练指南:http://rstudio.github.io/packrat/walkthrough.html
1.最常用的命令:http://rstudio.github.io/packrat/commands.html
1.在RStudio中使用Packrat:http://rstudio.github.io/packrat/rstudio.html
1.限制和警告:http://rstudio.github.io/packrat/limitations.html

    • 更新:**Packrat已被软性弃用,现在已被renv取代,因此您可能需要检查此软件包。
hi3rlvi2

hi3rlvi22#

Anaconda软件包管理器condasupports creating R environments .

conda create -n r-environment r-essentials r-base
conda activate r-environment

我在使用conda维护不同的Python安装方面有很好的经验,既有用户特定的,也有同一用户的几个版本。我用condajupyter-notebook测试了R,它工作得很好。至少对我的需要来说,包括使用DEseq2和相关包进行RNA测序分析。以及data.tabledplyr。有许多生物导体包可在conda通过bioconda和根据评论this SO question,似乎install.packages()可能工作以及。

8nuwlpux

8nuwlpux3#

看起来RStudio devs还有另外一个选项renv,它可以在CRAN上使用,取代了Packrat。
简而言之,使用renv::init()初始化项目库,使用renv::snapshot()/renv::restore()保存和加载库的状态。
与conda r-environment相比,我更喜欢这个选项,因为这里的所有内容都存储在文件renv.lock中,该文件可以提交到Git repo并分发给团队。

mrphzbgm

mrphzbgm4#

要对此进行补充:
注意:1.已安装Anaconda 2.假设您的工作目录为"C:"
创建所需环境-〉"r_environment_name"

C:\>conda create -n "r_environment_name" r-essentials r-base

查看可用环境

C:\>conda info --envs

啊...
激活环境

C:\>conda activate "r_environment_name"

(r_environment_name) C:\>

启动Jupyter笔记本电脑,让党开始

(r_environment_name) C:\> jupyter notebook

对于类似的"requirements.txt",也许这个链接会有所帮助-〉Is there something like requirements.txt for R?

sg2wtvxw

sg2wtvxw5#

查看RoveR,R容器管理解决方案,详细信息请参见https://www.slideshare.net/DavidKunFF/ownr-technical-introduction,特别是幻灯片12。
要安装roveR,请在R中执行以下命令:

install.packages("rover", repos = c("https://lair.functionalfinances.com/repos/shared", "https://lair.functionalfinances.com/repos/cran"))

为了充分利用roveR的强大功能(包括安装特定版本的软件包以实现可复制性),您需要访问laiR -对于CRAN,您可以使用我们位于https://lair.ownr.io的laiR示例,如果要上传您自己的软件包并与您的组织共享,您需要laiR许可证。您可以通过上面链接的演示文稿中的电子邮件地址与我们联系。

6gpjuf90

6gpjuf906#

对于 .ipynb 文件,R内核就足够了,您不需要安装带有R的虚拟环境,只需:

  • 安装R内核:https://irkernel.github.io/installation/#linux-panel
  • 在终端中运行jupyter notebook
  • 在浏览器中选择 .ipynb 并切换到选项卡“内核”/更改内核/ R x1c 0d1x

相关问题