16  Zusatzpakete installieren

In R stehen viele Zusatzpakete bereit, die den Funktionsumfang erweitern. Über das Comprehensive R Archive Network, kurz CRAN, können diese mit dem Befehl install.packages() installiert werden. Möchte man beispielsweise “ggplot” (siehe Kapitel 34) installieren, lautet der Befehl entsprechend (Achtung, das Paket für ggplot heisst ggplot2 !)

# ggplot installieren, ACHTUNG, das Paket heisst ggplot2 !!!
install.packages("ggplot2")

Manche Pakete benötigen weitere Zusatzpakete, um vollständig laufen zu können. Man spricht hier von “Abhängigkeiten”, da das eine Paket vom anderen abhängt. Möchte man das gewünschte Paket inklusive aller Abhängigkeiten installieren, ändert sich der Befehl in:

# Paket ggplot mit allen Abhängigkeiten installieren
install.packages("ggplot2", dependencies=TRUE)

Sollen mehrere Pakete auf einmal installiert werden, können diese mit der c()-Funktion übergeben werden.

# Pakete ggplot, wikibooks, pwr mit allen Abhängigkeiten installieren
install.packages(c("ggplot2", "wikibooks", "pwr"), dependencies=TRUE)

Um die installierten Zusatzpakete benutzen zu können, müssen sie in einer R-Sitzung zunächst geladen bzw. aktiviert werden. Dies erfolgt mit dem Befehl library().

# aktiviere das ggplot2 Paket 
library(ggplot2)

Mit dem Befehl detach() können die Zusatzpakete wieder deaktiviert werden.

# de-aktiviere das ggplot2 Paket 
detach("package:ggplot2")

Ein anderer Weg besteht darin, den Paketnamen mit zwei Doppelpunkten getrennt vor die Funktion zu schreiben.

# nutze Funktion "read_sav" aus dem Paket "haven"
haven::read_sav("SPSSdaten.sav")

Die beiden Doppelpunkte weisen R an, die Funktion read_sav() aus dem Paket haven zu nutzen. So kann man sich den library(haven)-Aufruf sparen. Dies bietet sich an, wenn man “nur mal kurz” eine bestimmte Funktion eines bestimmten Pakets nutzen möchte. Hat man mehrere Funktionsaufrufe, kann das Laden per library() die Schreibarbeit verkürzen.

In RStudio lassen sich Pakete auf mehrere Arten installieren. Zum einen kann man in der Menüzeile auf Tools \(\rightarrow\) Install packages klicken. Es öffnet sich ein neues Fenster, in welches wir einfach die Paketnamen eintragen können (Abbildung 16.1).

Abb. 16.1: Zusatzpakete installieren

RStudio bietet eine weitere recht einfache und nützliche Methode zur Installation von Zusatzpaketen. Die Software durchsucht Ihre Scriptdatei nach dem Befehl library(). Ist das dort referenzierte Paket noch nicht installiert, schlägt RStudio die Installation vor (siehe gelber Balken in Abbildung Abbildung 16.2).

Abb. 16.2: Zusatzpakete per library()

Klicken Sie im gelben Balken auf Install um das Paket zu installieren. Dies ist nützlich, wenn man z.B. an einem “neuen” PC alte R-Scriptdateien öffnet, oder z.B. fremde R-Scripte verwendet. Nach dem Öffnen schlägt RStudio alle fehlenden Pakete zur Installation vor.

Natürlich können Sie auch einfach install.packages("ggplot2") (oder jeden anderen Paketnamen) in Ihre Scriptdatei schreiben und diese dann in der R-Konsole ausführen lassen.

Das Aktivieren von installierten Zusatzpaketen wird von RStudio ebenfalls ermöglicht. Klicken Sie im Ausgabefenster auf den Reiter Packages. So werden Ihnen alle installierten Zusatzpakete angezeigt (Abbildung 16.3).

Abb. 16.3: alle installierten Pakete

Wenn Sie ein Paket aktivieren möchten, klicken Sie einfach dessen Häkchen an.

Wie Abbildung Abbildung 16.4 zeigt, wurde durch den Klick automatisch der Befehl library(haven) in die R-Konsole übertragen und ausgeführt (linke Seite). Zum Deaktivieren müssen Sie einfach wieder auf das Kästchen klicken und den Haken entfernen.

Abb. 16.4: Paket aktivieren

Viele Paket enthalten Datensätze, die für Übungs- und Auswertungsbeispiele genutzt werden können.

Die enthaltenen Datensätze lassen sich mit dem Befehl data(package="PAKETNAME") auflisten. In R ist das Basispaket datasets enthalten, dessen Inhalte sich anzeigen lassen per:

# zeige die Datensätze des Pakets "datasets" an
data(package = "datasets")

Datensätze im Paket datasets Um einen Datensatz eizubinden, wird er mit der data()-Funktion aufgerufen.

# aktiviere den Datensatz "iris"
data(iris)

# zeige den Inhalt von 'iris'
head(iris)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa

Eine alternative Zugriffsweise besteht darin, die Datensätze per paketname::datensatz einem Objekt zuzuweisen.

# weise den Datensatz psych::bfi dem Objekt testdf zu
testdf <- psych::bfi

# zeige erste Zeilen an
head(testdf)
##       A1 A2 A3 A4 A5 C1 C2 C3 C4 C5 E1 E2 E3 E4 E5 N1 N2 N3 N4 N5 O1 O2 O3 O4
## 61617  2  4  3  4  4  2  3  3  4  4  3  3  3  4  4  3  4  2  2  3  3  6  3  4
## 61618  2  4  5  2  5  5  4  4  3  4  1  1  6  4  3  3  3  3  5  5  4  2  4  3
## 61620  5  4  5  4  4  4  5  4  2  5  2  4  4  4  5  4  5  4  2  3  4  2  5  5
## 61621  4  4  6  5  5  4  4  3  5  5  5  3  4  4  4  2  5  2  4  1  3  3  4  3
## 61622  2  3  3  4  5  4  4  5  3  2  2  2  5  4  5  2  3  4  4  3  3  3  4  3
## 61623  6  6  5  6  5  6  6  6  1  3  2  1  6  5  6  3  5  2  2  3  4  3  5  6
##       O5 gender education age
## 61617  3      1        NA  16
## 61618  3      2        NA  18
## 61620  2      2        NA  17
## 61621  5      2        NA  17
## 61622  3      1        NA  17
## 61623  1      2         3  21

16.1 Zusatzpaket zu diesem Lehrbuch

Zu diesem Lehrbuch existiert ein eigenes Zusatzpaket, in welchem alle verwendeten Datensätze und Zusatzfunktionen enthalten sind.

Das Paket heisst jgsbook und kann über das CRAN installliert werden, siehe :

# installiere das Zusatzpaket dieses Lehrbuchs
install.packages("jgsbook")

Die enthaltenen Datensätze lassen sich mit dem Befehl data() auflisten:

# zeige die Datensätze des Pakets "jgsbook" an
data(package = "jgsbook")
Abb. 16.5: Datensätze im Paket jgsbook

…und in die Arbeitsumgebung laden:

# aktiviere jgsbook
library(jgsbook)
## 
## Attache Paket: 'jgsbook'
## Die folgenden Objekte sind maskiert durch '.GlobalEnv':
## 
##     mma, nw
# aktiviere den Datensatz "epa"
data(epa)

# zeige die ersten 6 Datenreihen von "epa"
head(epa)
##   age sex cms risk expert decu
## 1  50   m  40    0      0    0
## 2  75   m  40    0      0    0
## 3  86   w  13    1      1    0
## 4  77   w  24    1      1    0
## 5  66   w  40    0      0    0
## 6  51   m  37    0      0    0

Sie können auch über die Kombination paketname::datensatz auf die Datensätze zugreifen. So muss das Paket nicht erst per library() aktiviert werden.

# Datensatz "epa" aus dem Paket "jgsbook"
epa <- jgsbook::epa

# zeige die ersten 6 Datenreihen von "epa"
head(epa)
##   age sex cms risk expert decu
## 1  50   m  40    0      0    0
## 2  75   m  40    0      0    0
## 3  86   w  13    1      1    0
## 4  77   w  24    1      1    0
## 5  66   w  40    0      0    0
## 6  51   m  37    0      0    0