Cara menggunakan pivot_wider() di r


Fungsi pivot_wider() paket Tidyr di R dapat digunakan untuk memutar blok data dari format panjang ke format lebar.

Fungsi ini menggunakan sintaks dasar berikut:

 library (tidyr)

df %>% pivot_wider(names_from = var1, values_from = var2)

Emas:

  • name_from : Kolom yang nilainya akan dijadikan nama kolom
  • value_from : Kolom yang nilainya akan dijadikan nilai sel

Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya.

Terkait: Data Panjang atau Lebar: Apa Bedanya?

Contoh: Gunakan pivot_wider() di R

Misalkan kita memiliki kerangka data berikut di R yang berisi informasi tentang berbagai pemain bola basket:

 #create data frame
df <- data. frame (player=rep(c('A', 'B'), each= 4 ),
                 year=rep(c(1, 1, 2, 2), times= 2 ),
                 stat=rep(c('points', 'assists'), times= 4 ),
                 amount=c(14, 6, 18, 7, 22, 9, 38, 4))

#view data frame
df

  player year stat amount
1 A 1 points 14
2 A 1 assists 6
3 A 2 points 18
4 A 2 assists 7
5 B 1 points 22
6 B 1 assists 9
7 B 2 points 38
8 B 2 assists 4

Kita dapat menggunakan fungsi pivot_wider() untuk memutar bingkai data ini ke dalam format lebar:

 library (tidyr)

#pivot the data frame into a wide format
df %>% pivot_wider(names_from = stat, values_from = amount)

# A tibble: 4 x 4
  player year points assists
         
1 A 1 14 6
2 A 2 18 7
3 B 1 22 9
4 B 2 38 4

Perhatikan bahwa nilai di kolom stat sekarang digunakan sebagai nama kolom dan nilai di kolom jumlah digunakan sebagai nilai sel di kolom baru ini.

Hasil akhirnya adalah blok data yang besar.

Catatan : Anda dapat menemukan dokumentasi lengkap untuk fungsi pivot_wider() di sini .

Sumber daya tambahan

Tutorial berikut menjelaskan cara menggunakan fungsi umum lainnya dari paket Tidyr di R:

Cara menggunakan fungsi Spread di R
Cara menggunakan fungsi kumpulkan di R
Cara menggunakan fungsi terpisah di R
Cara menggunakan fungsi Unite di R

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *