Was ist der bevorzugte Weg, um R-Pakete in Ubuntu zu installieren?

20

Ich installiere in R in Ubuntu, aber ich bin ein bisschen verwirrt mit den vielen Optionen, die es gibt, um Pakete zu installieren.

Der traditionelle Weg ist, sie innerhalb von R zu installieren install.package(). Ubuntu bietet jedoch die Möglichkeit der Installation mit apt-get. Dies ist interessant, da das Betriebssystem die Pakete auf dem neuesten Stand hält. Da sie nur ein paar Pakete zur Verfügung haben, wird es früher oder später zu Problemen kommen. Ich werde eventuell Pakete auf herkömmliche Weise installieren lassen, indem ich sie auf verschiedene Arten installiere, und vielleicht (?) Wird dies auch zu Versionsproblemen führen.

Was ist der bevorzugte Weg, um R-Pakete in Ubuntu zu installieren und zu behalten?

user565663
quelle
2
Willkommen bei Ask Ubuntu. Was für eine gute erste Frage! +1.
Grooveplex

Antworten:

7

Ich denke, die einzigen R-Pakete, die über die Ubuntu-Repos verfügbar sind, sind die Pakete, die vom Kernteam der R-Entwicklung gepflegt werden. Wie bei den meisten Paketen handelt es sich bei den über aptoder synaptic verfügbaren Paketen nicht immer um die neuesten Versionen. Glücklicherweise haben Sie die Möglichkeit, eine CRAN-verwaltete Softwarequelle hinzuzufügen, indem Sie eine neue Datei mit /etc/apt/sources.list.d/CRAN.listeiner einzelnen Textzeile erstellen :

deb http://cran.r-project.org/bin/linux/ubuntu trusty/

(Ersetzen trusty/Sie dies durch den Codenamen Ihrer Distribution. Wenn Sie ihn nicht kennen, geben Sie ihn lsb_release -cin ein Terminal ein.) Danach (und ein apt update) Ihr Paket - Manager immer installieren (oder Update) , um die CRAN gepflegten Versionen r-base, r-base-coreusw., weil sie höhere Versionsnummern als die , die in den Debian - Quellen haben. Sehen Sie hier, wenn Sie aptsich über das Nicht-Signieren des Repos beschweren.

Für alle anderen Pakete (AKA "Contributed Packages") bevorzuge ich die Installation innerhalb von R über install.packages(c("name_of_package", "name_of_other_package")), sofern ich nicht weiß, dass die Version auf CRAN alt ist und dass eine neuere Version die von mir benötigten Funktionen aufweist. In solchen Fällen können Sie devtools::install_github('AccountName/RepositoryName')ein Archiv von GitHub mit oder herunterladen und von einem Terminalfenster über R CMD INSTALL name_of_package.tar.gzoder innerhalb von R über installieren install.packages("/path/to/downloaded/package.tar.gz", repos=NULL, type="source").

Der Vollständigkeit halber ist hier die offizielle Anleitung von CRAN .

Drammock
quelle
3

Normalerweise installiere ich mit, apt-get r-cranwann immer es möglich ist, da dies Abhängigkeiten und Aktualisierungen sauberer erledigt. Nur wenn es nicht verfügbar ist, verwende ich install aus R.

Beachten Sie, dass es zwei Repositorys für R Debian-Pakete gibt:

  1. Offizielle R: bietet ein paar Pakete. Um es einzuschließen , müssen Sie den Link zum Repository hinzufügen, um Ihre Datei source.list zu aktualisieren . Dies wird auf der CRAN-Ubuntu-Seite dokumentiert. Führen Sie apt-get updatedann das Upgrade aus
  2. PPA: Michael Rutter bietet ein ppa an , cran2deb4ubuntu , das viel mehr Pakete enthält. Eine Dokumentation finden Sie am Ende dieses Blogs . Sie müssen nur ausführen (dann nach dem Update / Upgrade):

     sudo add-apt-repository ppa:marutter/c2d4u
    
Matifou
quelle
1

Bitte beachten Sie, dass sich der Repo-Name für R 3.5.0 geändert hat und von Michael Rutter vorkompilierte Task Views- Bibliotheken jetzt von cran2deb4ubuntu_3.5 verfügbar sind

user837998
quelle
Dies ist heutzutage mit ziemlicher Sicherheit die richtige Antwort für die meisten Benutzer. Vergiss nicht, dass du Michaels "rrutter3.5" PPA für CRAN (Basis plus ein paar Extras) Builds hinzufügen kannst. Einige Beispiele hier: twitter.com/grant_mcdermott/status/1174059099878641664
Grant