11  Daten laden und speichern

In R können Daten leicht geladen und gespeichert werden. Eine R-Datei hat die Dateiendung .RData. In der Datei können “beliebig” viele Objekte (Variablen, Datenframes, usw.) enthalten sein.

Mit der Funktion save.image() werden alle Objekte im Speicher, also die aktuelle “Worksession”, als “unsichtbare” Datei .RData ins aktuelle Arbeitsverzeichnis geschrieben.

# speichere die aktuelle Sitzung 
save.image()

In RStudio können Sie im Ausgabefenster (unten rechts) auf den Reiter Files klicken. Sie sehen Ihr aktuelles Arbeitsverzeichnis, und darin die R-Datei .RData (siehe Abbildung 11.1).

Abb. 11.1: Datei .RData im Arbeitsverzeichnis

Das ist übrigens die selbe Datei, die angelegt wird, wenn Sie RStudio beenden, und “speichere Arbeitsspeicher” klicken. Das heisst, dass diese Datei unter Umständen bald wieder überschrieben wird.

Der Funktion save.image() kann auch ein gewünschter Dateiname übergeben werden.

# speichere die aktuelle Sitzung in Datei "MeineSitzung.RData"
save.image("MeineSitzung.RData")

Die Datei MeineSitzung.RData wird in RStudio im Ausgabefenster angezeigt (siehe Abbildung 11.2).

Abb. 11.2: Datei MeineSitzung.RData im Arbeitsverzeichnis

Wenn nur einzelne Objekte gespeichert werden sollen, wird die save()-Funktion angewandt. Mit dem file-Parameter wird die gewünschte Zieldatei angegeben.

# speichere nur die Variable "sequenz" 
# in Datei "Sequenz.RData" 
save(sequenz, file="Sequenz.RData")
# speichere die Objekte "sequenz" "normal" und "geschlecht"
# in Datei "MeineVariablen.RData" 
save(sequenz, normal, geschlecht, file="MeineVariablen.RData")

Daten können mit dem load()-Befehl geladen werden.

# lade Datei "MeineVariablen.RData" 
load("MeineVariablen.RData")

In RStudio kann im Ausgabefenster unter dem Reiter Files einfach auf eine R-Datei geklickt werden, um diese zu laden (Abbildung 11.3).

Abb. 11.3: Dateien im Arbeitsverzeichnis

Wenn die Datei im Internet liegt, muss sie mit Hilfe der url()-Funktion geladen werden

# Test-Datensatz aus dem Internet laden # (dieser enthält das Datenframe "ordinalSample")
load(url("https://www.produnis.de/R/OrdinalSample.RData"))

# Daten anschauen mit head(ordinalSample) 
head(ordinalSample)