Wie kann ich eine konsistente R-Umgebung für verschiedene Benutzer auf demselben Server sicherstellen?
Ich schreibe ein Protokoll für eine reproduzierbare Analyse mit einem Inhouse-Paket "MyPKG". Jeder Benutzer stellt seine eigenen Eingabedateien bereit. abgesehen von den eingaben sollten die analysen unter den gleichen bedingungen durchgeführt werden. (z. B. damit wir schließen können, dass unterschiedliche Ergebnisse auf unterschiedliche Eingabedateien zurückzuführen sind).
MyPKG ist also in der Entwicklunglibrary(MyPKG)
wird die letzte Version laden, die der Benutzer in seiner lokalen Bibliothek kompiliert hat. Es werden auch alle Abhängigkeiten geladen, die in ihren lokalen Bibliotheken gefunden wurden.
Ich möchte jedoch, dass jeder eine bestimmte Version (MyPKG_3.14) für diese Analyse verwendet und gleichzeitig die Entwicklung neuerer Versionen ermöglicht. Wenn ich das richtig verstehe, lädt "R --vanilla" für alle die gleichen Abhängigkeiten.
Sobald wir fertig sind, speichern wir die Arbeitsumgebung als VM, um eine stabile reproduzierbare Umgebung aufrechtzuerhalten. Eine vorübergehende Lösung (6 Monate) reicht also aus.
Ich habe zwei mögliche Lösungen gefunden, bin mir aber nicht sicher, ob beides ausreicht.
Bitten Sie den Serveradministrator, MyPKG_3.14 im Standardpfad R zu installieren, und geben Sie dann den folgenden Code im Protokoll ein:
R --vanilla
library(MyPKG)
....
oder
kompilieren Sie MyPKG_3.14 in einer bestimmten Bibliothek, z. lib.loc = "/home/share/lib/R/MyPKG_3.14" und dann bereitstellen
R --vanilla
library(MyPKG)
Reichen beide Ansätze aus, um sicherzustellen, dass alle dieselbe Version ausführen?Ist das eine dem anderen vorzuziehen?Gibt es andere unvorhergesehene Probleme, die auftreten können?Gibt es eine bevorzugte Option zur Standardisierung der Mehrfachanalysen?Sollte ich einen Test der Ausgabe vonSessionInfo()
?Wäre es besser, ein einzelnes Konto auf dem Server zu erstellen, das jeder nutzen kann?