Wirtualne środowisko w R?


Na przykład znalazłem kilka postów na temat najlepszych praktyk, odtwarzalności i przepływu pracy w R:

Jednym z głównych problemów jest zapewnienie przenośności kodu w tym sensie, że przeniesienie go na nową maszynę (prawdopodobnie z innego systemu operacyjnego) jest stosunkowo łatwe i daje takie same wyniki.
Wywodząc się z języka Python, jestem przyzwyczajony do koncepcji środowiska wirtualnego. W połączeniu z prostą listą wymaganych pakietów zapewnia to w pewnym stopniu, że zainstalowane pakiety i biblioteki są dostępne na każdym komputerze bez żadnych problemów. Oczywiście nie jest to gwarancja - różne systemy operacyjne mają swoje wady i osobliwości - ale pomoże ci to w 95%.
Czy jest coś takiego w R? Nawet jeśli nie jest to takie trudne. Na przykład, po prostu utrzymujesz prostą listę tekstową wymaganych pakietów i skrypt, który zainstaluje wszystkie brakujące?
Zaraz zacznę na poważnie używać R po raz pierwszy, prawdopodobnie w połączeniu ze Sweave, i najlepiej byłoby, gdybyś zaczął jak najlepiej! Dzięki za przemyślenia.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Zamierzam użyć komentarza opublikowanego przez @cboettig, aby rozwiązać ten problem.

Przestarzała funkcja Plyushkin
>
Starsza funkcja Plyushkin to system zarządzania zależnościami dla R. Daje trzy ważne korzyści (wszystkie koncentrują się na Twoich potrzebach w zakresie przenoszenia)
  • W trybie piaskownicy: Zainstalowanie nowego lub zaktualizowanego pakietu dla jednego projektu nie zepsuje innych projektów i odwrotnie. Dzieje się tak, ponieważ packrat zapewnia każdemu projektowi własną bibliotekę pakietów.
  • Przenośność: łatwe przenoszenie projektów z jednego komputera na inny, nawet na różne platformy. Packrat ułatwia instalowanie pakietów, od których zależy Twój projekt.
  • Powtarzalność: Packrat rejestruje dokładne wersje pakietów, na których polegasz, i zapewnia, że ​​te wersje są instalowane w dowolnym miejscu.


Co dalej?
>


Aktualizacja:

Przestarzałą funkcją Plyushkina było

miękko usuwane
https://github.com/rstudio/packrat#note
i wymieniony

renv
https://github.com/rstudio/renv
więc możesz zamiast tego sprawdzić ten pakiet.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Menedżer pakietów Anaconda
conda

wspiera tworzenie środowisk
https://docs.anaconda.com/anac ... guage
R .
conda create -n r-environment r-essentials r-base
conda activate r-environment

Mam duże doświadczenie w używaniu
conda
do obsługi różnych instalacji Pythona, zarówno dla konkretnego użytkownika, jak i wielu wersji dla tego samego użytkownika. Przetestowałem R z
conda
i
jupyter-notebook
i działa świetnie. Przynajmniej na moje potrzeby, co obejmuje analizę sekwencjonowania RNA przy użyciu
DEseq2
i powiązanych pakietów, a także
data.table
i
dplyr
. Istnieje wiele pakietów bioprzewodników dostępnych w
conda
via

bioconda
https://bioconda.github.io/
i sądząc po komentarzach do

ten przypadek
https://coderoad.ru/34705917/
Tak więc wygląda na to, że
install.packages ()
również może działać.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Wygląda na to, że jest inna opcja od twórców RStudio,

renv
https://blog.rstudio.com/2019/ ... r/... Jest dostępny w CRAN i zastępuje Packrat.
Krótko mówiąc, używasz
renv :: init ()
do zainicjowania biblioteki projektu i
renv :: snapshot ()
/
renv :: restore ()
aby zapisać i załadować stan swojej biblioteki.
Wolę ten wariant środowiska conda r-enviroments, ponieważ wszystko jest przechowywane w pliku
renv.lock
, który można zatwierdzić w pliku repozytorium Git i przekazać zespołowi.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Sprawdź roveR, rozwiązanie do zarządzania kontenerami R.

https://www.slideshare.net/Dav ... ction
https://www.slideshare.net/Dav ... ction
w szczególności slajd 12.
Aby zainstalować roveR, uruchom następujące polecenie w R:
install.packages("rover", repos = c("[url=https://lair.functionalfinances.com/repos/shared"]https://lair.functionalfinance ... ot%3B[/url], "[url=https://lair.functionalfinances.com/repos/cran"]https://lair.functionalfinance ... 6quot[/url];))

Aby w pełni wykorzystać możliwości roveR (w tym zainstalować niektóre wersje pakietów w celu zapewnienia powtarzalności), będziesz potrzebować dostępu do laiR - w przypadku CRAN możesz skorzystać z naszej instancji laiR pod adresem

https://lair.ownr.io
https://lair.ownr.io, potrzebujesz licencji LaiR, aby pobierać własne pakiety i udostępniać je swojej organizacji. W powyższej prezentacji możesz skontaktować się z nami mailowo.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Aby dodać do tego:
Uwaga:
1. Anaconda już go zainstalowała
2. Załóżmy, że twój katalog roboczy to „C:”
Aby utworzyć żądane środowisko - & > „r_environment_name”
C:\>conda create -n "r_environment_name" r-essentials r-base

Aby zobaczyć dostępne środowiska
C:\>conda info --envs

......
Aby aktywować środowisko
C:\>conda activate "r_environment_name"(r_environment_name) C:\>

Uruchom notatnik Jupyter i pozwól imprezie się rozpocząć
(r_environment_name) C:\> jupyter notebook

W przypadku podobnych plików „Requirements.txt” może ten link pomoże - & >

czy jest coś takiego jak Requirements.txt dla R?
https://coderoad.ru/38928326/
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Jeśli chcesz tylko sprawdzić, czy Twój kod działa na alternatywnych instalacjach, polecam przetestowanie przez chmurę rstudio, która jest darmowa, przynajmniej na razie.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się