Cara menggunakan fungsi dcast dari data.table di r
Anda dapat menggunakan fungsi dcast dari paket data.table di R untuk membentuk ulang bingkai data dari format panjang ke format lebar.
Fungsi ini sangat berguna ketika Anda ingin meringkas variabel tertentu dalam bingkai data, yang dikelompokkan berdasarkan variabel lain.
Contoh berikut menunjukkan cara menggunakan fungsi dcast dalam praktiknya dengan bingkai data berikut di R:
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
Contoh 1: Hitung metrik suatu variabel, yang dikelompokkan berdasarkan variabel lain
Kode berikut menunjukkan cara menggunakan fungsi dcast untuk menghitung nilai poin rata-rata, yang dikelompokkan berdasarkan variabel tim dan posisi :
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
Contoh 2: Hitung beberapa metrik untuk suatu variabel, yang dikelompokkan berdasarkan variabel lain
Kode berikut menunjukkan cara menggunakan fungsi dcast untuk menghitung nilai poin rata-rata dan nilai poin maksimum, yang dikelompokkan berdasarkan variabel tim dan posisi :
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
Contoh 3: Hitung metrik untuk beberapa variabel, yang dikelompokkan berdasarkan variabel lain
Kode berikut menunjukkan cara menggunakan fungsi dcast untuk menghitung nilai rata-rata poin dan rata-rata nilai bantuan , yang dikelompokkan berdasarkan variabel tim dan posisi :
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
Sumber daya tambahan
Tutorial berikut memberikan informasi tambahan tentang tabel data:
data.table vs bingkai data di R: tiga perbedaan utama
Cara memfilter data.tabel di R
Cara menggunakan rbindlist di R untuk membuat tabel data dari beberapa