So verwenden sie die dcast-funktion von data.table in r
Sie können die dcast- Funktion des data.table- Pakets in R verwenden, um einen Datenrahmen von einem Langformat in ein Breitformat umzuwandeln.
Diese Funktion ist besonders nützlich, wenn Sie bestimmte Variablen in einem Datenrahmen zusammenfassen möchten, gruppiert nach anderen Variablen.
Die folgenden Beispiele zeigen, wie die dcast- Funktion in der Praxis mit dem folgenden Datenrahmen in R verwendet wird:
library (data.table) #create data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'), position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'), points=c(18, 13, 10, 12, 16, 25, 24, 31), assists=c(9, 8, 8, 5, 12, 15, 10, 7)) #convert data frame to data table dt <- setDT(df) #view data table dt team position points assists 1: AG 18 9 2: AG 13 8 3:AF 10 8 4:AF 12 5 5: BG 16 12 6: BG 25 15 7: BF 24 10 8: BF 31 7
Beispiel 1: Berechnen Sie die Metrik für eine Variable, gruppiert nach anderen Variablen
Der folgende Code zeigt, wie Sie mit der dcast- Funktion den durchschnittlichen Punktwert , gruppiert nach Team- und Positionsvariablen , berechnen:
library (data.table) #calculate mean points value by team and position dt_new <- dcast(dt, team + position ~., fun. aggregate = mean, value. var = ' points ') #view results dt_new team position. 1:AF 11.0 2: AG 15.5 3: BF 27.5 4: BG 20.5
Beispiel 2: Berechnen Sie mehrere Metriken für eine Variable, gruppiert nach anderen Variablen
Der folgende Code zeigt, wie Sie mit der dcast- Funktion den durchschnittlichen Punktwert und den maximalen Punktwert , gruppiert nach Team- und Positionsvariablen , berechnen:
library (data.table) #calculate mean and max points values by team and position dt_new <- dcast(dt, team + position ~., fun. aggregate = list(mean, max), value. var = ' points ') #view results dt_new team position points_mean points_max 1:AF 11.0 12 2: AG 15.5 18 3: BF 27.5 31 4: BG 20.5 25
Beispiel 3: Berechnen Sie die Metrik für mehrere Variablen, gruppiert nach anderen Variablen
Der folgende Code zeigt, wie Sie mit der dcast- Funktion den durchschnittlichen Punktwert und den durchschnittlichen Assist- Wert berechnen, gruppiert nach Team- und Positionsvariablen :
library (data.table) #calculate mean and max points values by team and position dt_new <- dcast(dt, team + position ~., fun. aggregate = mean, value. var = c(' points ', ' assists ')) #view results dt_new team position points assists 1:AF 11.0 6.5 2: AG 15.5 8.5 3: BF 27.5 8.5 4: BG 20.5 13.5
Zusätzliche Ressourcen
Die folgenden Tutorials bieten zusätzliche Informationen zu Datentabellen:
data.table vs. Datenrahmen in R: drei wesentliche Unterschiede
So filtern Sie eine Datentabelle in R
So verwenden Sie rbindlist in R, um eine Datentabelle aus mehreren zu erstellen