Cara menggunakan ungroup() di dplyr (dengan contoh)


Anda dapat menggunakan fungsi ungroup() di dplyr untuk memisahkan baris setelah menggunakan fungsi group_by() untuk meringkas satu variabel per grup.

Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya.

Contoh: Cara menggunakan ungroup() di dplyr

Misalkan kita memiliki bingkai data berikut di R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
                 dots=c(14, 18, 22, 26, 36, 34),
                 assists=c(5, 4, 4, 8, 7, 3))

#view data frame
df

  team points assists
1 to 14 5
2 to 18 4
3 to 22 4
4 B 26 8
5 B 36 7
6 B 34 3

Sekarang misalkan kita menggunakan kode berikut untuk menghitung nilai rata-rata poin , dikelompokkan berdasarkan tim :

 library (dplyr)

#calculate mean of points, grouped by team
df_new <- df %>%
            group_by(team) %>%
            summarize(mean_points = mean(points)) %>%
            A group()

#view results
df_new

# A tibble: 2 x 2
  team mean_points
         
1 to 18
2 B 32

Dengan menggunakan sintaks ini kita dapat menghitung nilai rata-rata poin yang dikelompokkan berdasarkan tim , tetapi kita kehilangan kolom assist .

Untuk mempertahankan kolom pembantu , kita dapat menggunakan mutate() sebagai pengganti ringkasan() dan tetap menggunakan ungroup() di akhir:

 library (dplyr)

#calculate mean of points, grouped by team
df_new <- df %>%
            group_by(team) %>%
            mutate(mean_points = mean(points)) %>%
            A group()

#view results
df_new

# A tibble: 6 x 4
  team points assists mean_points
              
1 A 14 5 18
2 A 18 4 18
3 A 22 4 18
4 B 26 8 32
5 B 36 7 32
6 B 34 3 32

Kali ini kita dapat mempertahankan kolom assist dan menggunakan fungsi mutate() kita cukup menambahkan kolom baru bernama Mean_points yang menampilkan nilai rata-rata poin untuk setiap tim.

Karena kita juga menggunakan fungsi ungroup() , kita dapat melakukan perhitungan pada bingkai data baru ini tanpa khawatir tentang perhitungan yang dipengaruhi oleh variabel yang dikelompokkan.

Jika kita tidak menggunakan fungsi ungroup() , baris-baris dalam bingkai data akan tetap dikelompokkan bersama, yang dapat menimbulkan konsekuensi yang tidak diinginkan saat kita melakukan penghitungan lain nanti.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:

Cara memfilter nilai unik menggunakan dplyr
Cara memfilter berdasarkan beberapa kondisi menggunakan dplyr
Cara menghitung jumlah kemunculan pada kolom di R

Tambahkan komentar

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