簡體   English   中英

R中的虛擬環境?

[英]Virtual environment in R?

我發現了幾篇關於 R 中最佳實踐、再現性和工作流程的帖子,例如:

一個主要的當務之急是確保代碼的可移植性,從某種意義上說,將代碼移動到新機器(可能運行不同的操作系統)相對簡單並給出相同的結果。

來自 Python 背景,我習慣了虛擬環境的概念。 再加上一個簡單的所需軟件包列表,這在某種程度上可以確保已安裝的軟件包和庫在任何機器上都可用,而不必大驚小怪。 當然,這並不能保證——不同的操作系統都有自己的弱點和特性——但它可以讓你完成 95% 的工作。

R中是否存在這樣的東西? 即使它沒有那么復雜。 例如,只需維護所需軟件包的純文本列表和將安裝缺少的任何軟件包的腳本?

我即將開始第一次認真地使用 R,可能與 Sweave 一起使用,並且理想情況下希望以最好的方式開始! 謝謝你的想法。

我將使用@cboetig 發布的評論來解決這個問題。

Packrat 是 R 的依賴管理系統。為您提供三個重要優勢(所有優勢都集中在您的可移植性需求上)

  • 隔離:為一個項目安裝新的或更新的包不會破壞其他項目,反之亦然。 那是因為 Packrat 為每個項目提供了自己的私有包庫。

  • 便攜:輕松地將您的項目從一台計算機傳輸到另一台計算機,甚至可以跨越不同的平台。 Packrat 可以輕松安裝項目所依賴的包。

  • 可重現:Packrat 會記錄您所依賴的確切軟件包版本,並確保您無論走到哪里都可以安裝這些確切版本。

下一步是什么?

  1. 演練指南: http : //rstudio.github.io/packrat/walkthrough.html

  2. 最常用的命令: http : //rstudio.github.io/packrat/commands.html

  3. 在 RStudio 中使用 Packrat: http ://rstudio.github.io/packrat/rstudio.html

  4. 限制和警告: http : //rstudio.github.io/packrat/limitations.html

更新: Packrat 已被軟棄用,現在已被renv取代,因此您可能需要檢查此軟件包。

Anaconda 包管理器conda 支持創建 R 環境

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

我在使用conda來維護不同的 Python 安裝方面有着豐富的經驗,包括用戶特定的和同一用戶的多個版本。 我曾與測試[R condajupyter-notebook和它的偉大工程。 至少滿足我的需求,其中包括使用DEseq2和相關包以及data.tabledplyr進行 RNA 測序分析。 有可用許多Bioconductor的包conda通過bioconda並根據在評論這太問題,好像install.packages()可以正常工作。

看起來 RStudio 開發人員還有另一個選項renv 它可在 CRAN 上使用並取代 Packrat。

簡而言之,您使用renv::init()來初始化您的項目庫,並使用renv::snapshot() / renv::restore()來保存和加載您的庫的狀態。

與 conda r-enviroments 相比,我更喜歡這個選項,因為這里的所有內容都存儲在renv.lock文件中,該文件可以提交到 Git 存儲庫並分發給團隊。

查看 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 許可證。 您可以通過上面鏈接的演示文稿中的電子郵件地址與我們聯系。

要添加到此:

注意: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 Notebook 讓派對開始

(r_environment_name) C:\> jupyter notebook

對於類似的“requirements.txt”,也許此鏈接會有所幫助-> R 是否有類似 requirements.txt 的內容?

如果您只想檢查您的代碼是否適用於其他設置,我建議您通過 rstudio cloud 進行測試,它至少目前是免費的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM