12  Pakete

Im Thema Funktionen hatten wir gelernt, dass wir uns Pakete wie Rezeptbücher vorstellen können. In diesen finden wir Rezepte wie “Berechne einen Mittelwert” oder “Erstelle eine Grafik”. Da R so beliebt ist, gibt es eine mittlerweile tausende solcher Rezepbücher.

Wenn wir R neu installieren, haben wir nur sehr wenige Pakete. Weitere Pakete zu installieren ist jedoch meist sehr einfach.

12.1 Pakete installieren

Die einfachste Möglichkeit, Pakete zu installieren, finden wir in RStudio. Gehe hierfür auf “Packages” und klicke “Install”. Es öffnet sich ein Fenster, in das Du den Namen des Pakets eingibst, das Du installieren möchtest. Klicke dann auf “Install”. Installiere nun das Paket praise.

Video anzeigen

Alternativ kannst Du direkt in der Konsole den Befehl install.packages("praise") eingeben.

12.2 Pakete laden

Passend zu unserer Rezeptbuch-Analogie, befindet sich das Paket praise nun in unserer Bibliothek (library). Möchten wir nun eine Funktion (ein Rezept) aus dem Paket praise nutzen, gehen wir in unsere library und holen das Paket praise. In R geschieht dies mit:

library(praise)

Wichtig: Wenn wir RStudio schließen, werden automatisch alle Pakete zurück in die library gelegt. Wir müssen also jedes mal library(praise) ausführen, wenn wir eine Analyse mit den Funktionen aus praise durchführen wollen.

Lade nun das Paket praise und führe den Befehl praise() aus (der Befehl heißt genauso wie das Paket).

Lösung anzeigen
library(praise)
praise()
[1] "You are magnificent!"

Schließe nun RStudio und öffne es erneut. Führe danach praise() aus, ohne vorher library(praise) zu nutzen.

Lösung anzeigen
praise()
Error in praise(): could not find function "praise"

Wir müssen das Paket erst wieder aus der library holen!

library(praise)
praise()
[1] "You are delightful!"

12.3 Pakete aktualisieren

Pakete werden ständig verbessert, es kommen neue Funktionen hinzu oder es werden Fehler behoben. Daher sollten wir ab und an unsere Pakete aktualisieren.

Damit es nicht zu Fehlern kommt, sollten wir vor der Aktualisierung RStudio schließen und erneut öffnen. Das Updaten der Pakete erfolgt über den “Packages”-Reiter in RStudio und wird in folgendem Video dargestellt:

Video anzeigen

Alternativ können wir direkt update.packages() in die Console eingeben.

Achtung: Manchmal fragt R uns, ob wir neuere R-Paket versionen “from sources” installieren wollen:

There is a binary version available but the source version is later:
       binary source needs_compliation
praise 1.0.0  1.1.0               TRUE
Do you want to install from sources the package which needs compilation  (Yes/no/cancel)?

Long story short: Wir empfehlen hier “no” in die Console einzugeben. Eine Installation “from sources” kann recht kompliziert sein und die neuste Version des Pakets ist meist innerhalb weniger Tage sowieso ohne Installation “from sources” verfügbar.

Video anzeigen

12.4 Fortgeschrittene Themen

12.4.1 Maskierung

Es kann vorkommen, dass Funktionen aus verschiedenen Paketen die gleiche Bezeichnung haben. Beispielsweise gibt es in den Paketen psych und in ggplot2 jeweils eine Funktion mit dem Namen alpha(). Installiere nun psych und ggplot2 und führe dann folgende Befehle aus:

library(ggplot2)
library(psych)

Attaching package: 'psych'
The following objects are masked from 'package:ggplot2':

    %+%, alpha

Wir bekommen hier eine Warnung, dass die Funktion alpha() aus dem psych-Paket die alpha()-Funktion aus dem Paket ggplot2 maskiert. Das heißt, wenn wir nun die Funktion alpha aufrufen, wird die aus dem psych Paket genutzt. Wollen wir stattdessen die alpha()-Funktion aus dem Paket ggplot2 nutzen, müssen wir dies explizit angeben. Dies funktioniert folgendermaßen:

ggplot2::alpha()

Wir geben also Paketname::Funktion ein, wodurch R genau weiß, welche Funktion wir nutzen wollen.

12.4.2 Pakete von GitHub etc.

Die allermeisten Pakete bekommen wir direkt über R. Manchmal gibt es jedoch auch Pakete, die nur über GitHub oder GitLab verfügbar sind. Häufig finden wir direkt auf der GitHub Seite einen Hinweis, wie das Paket installiert werden kann: Das klappt manchmal, häufig brauchen wir jedoch zusätzliche Werkzeuge, die wir vorher installieren müssen (z.B. RTools unter Windows, Xcode unter macOS oder build-essential unter Linux). Viel Glück!