Cara cepat membuat pivottable di r
Di Excel, tabel pivot menyediakan cara mudah untuk mengelompokkan dan meringkas data.
Misalnya, jika kita memiliki kumpulan data berikut di Excel, kita bisa menggunakan tabel pivot untuk meringkas total penjualan dengan cepat berdasarkan wilayah:
Ini memberitahu kita:
- Wilayah A memiliki total 51 penjualan
- Wilayah B memiliki total 85 penjualan
- Wilayah C mencapai 140 total penjualan
Atau kita dapat meringkasnya dengan metrik lain seperti rata-rata penjualan berdasarkan wilayah:
Ternyata kita bisa dengan cepat membuat tabel pivot serupa di R menggunakan fungsi group_by() dan ringkasan() dari paket dplyr .
Tutorial ini memberikan beberapa contoh bagaimana melakukan hal ini.
Contoh: Membuat PivotTable di R
Pertama, mari buat kumpulan data yang sama di R yang kita gunakan pada contoh sebelumnya dari Excel:
#create data frame df <- data. frame (region=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C'), device=c('X', 'X', 'Y', 'X', 'Y', 'Y', 'X', 'X', 'Y', 'Y'), sales=c(12, 18, 21, 22, 34, 29, 38, 36, 34, 32)) #view data frame df region device sales 1AX 12 2AX18 3 AY 21 4 BX22 5 BY 34 6 BY 29 7 CX 38 8CX36 9 CY 34 10 CY 32
Selanjutnya, mari muat paket dplyr dan gunakan fungsi group_by() dan ringkasan() untuk mengelompokkan berdasarkan wilayah dan mencari jumlah penjualan berdasarkan wilayah:
library (dplyr) #find sum of sales by region df %>% group_by (region) %>% summarize (sum_sales = sum (sales)) # A tibble: 3 x 2 region sum_sales 1 to 51 2 B 85 3 C 140
Kita dapat melihat bahwa angka-angka ini cocok dengan angka-angka yang ditunjukkan pada contoh pengantar Excel.
Kami juga dapat menghitung rata-rata penjualan berdasarkan wilayah:
#find average sales by region df %>% group_by (region) %>% summarize (mean_sales = mean (sales)) # A tibble: 3 x 2 region mean_sales 1 to 17 2 B 28.3 3 C 35
Sekali lagi, angka-angka ini cocok dengan angka-angka yang ditunjukkan pada contoh Excel sebelumnya.
Perhatikan bahwa kita juga dapat mengelompokkan berdasarkan beberapa variabel. Misalnya, kami dapat menemukan jumlah penjualan yang dikelompokkan berdasarkan wilayah dan jenis perangkat:
#find sum of sales by region and device type df %>% group_by (region, device) %>% summarize (sum_sales = sum (sales)) # A tibble: 6 x 3 # Groups: region [3] region device sum_sales 1AX30 2 AY 21 3 BX22 4 BY 63 5 CX 74 6 CY 66
Sumber daya tambahan
Bagaimana melakukan VLOOKUP (mirip dengan Excel) di R
Panduan Lengkap: Cara Mengelompokkan dan Meringkas Data di R