Zum Hauptinhalt springen

Daten in R umgestalten

R bietet eine Vielzahl von Methoden, um Daten vor der Analyse umzugestalten.

Transponieren

Verwende die Funktion t(), um eine Matrix oder einen Datenrahmen zu transponieren. Im letzteren Fall werden die Rownamen zu Variablennamen (Spalten).

# example using built-in dataset
mtcars
t(mtcars)

Das Reshape-Paket

Hadley Wickham hat ein umfassendes Paket namens reshape entwickelt, um Daten zu massieren. Sowohl eine Einleitung als auch ein Artikel sind verfügbar. Es gibt sogar ein Video!

Im Grunde genommen "verschmilzt" du die Daten so, dass jede Zeile eine eindeutige ID-Variablen-Kombination ist. Dann "gießt" du die geschmolzenen Daten in jede beliebige Form, die du möchtest. Hier ist ein sehr einfaches Beispiel.

mydata

    
idZeitx1x2
1156
1235
2161
2224
# example of melt function
library(reshape)
mdata <- melt(mydata, id=c("id","time"))

newdata

    
idZeitvariabelWert
11x15
12x13
21x16
22x12
11x26
12x25
21x21
22x24
# cast the melted data
# cast(data, formula, function)
subjmeans <- cast(mdata, id~variable, mean)
timemeans <- cast(mdata, time~variable, mean)

subjmeans

   
idx1x2
145.5
242.5

Die Zeit bedeutet

   
Zeitx1x2
15.53.5
22.54.5

Es gibt noch viel mehr, was du mit den Funktionen melt( ) und cast( ) machen kannst. In der Dokumentation findest du weitere Informationen.

Weiter gehen

Um das Massieren von Daten zu üben, probiere diesen Kurs zur Datenbereinigung in R aus.