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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert