Cara membuat tabel frekuensi berdasarkan grup di r


Anda dapat menggunakan fungsi berikut dari paket dplyr untuk membuat tabel frekuensi berdasarkan grup di R:

 library (dplyr)

df %>%
  group_by (var1, var2) %>%
  summarize (Freq=n())

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: Buat tabel frekuensi berdasarkan kelompok

Misalkan kita memiliki bingkai data berikut di R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'G', 'F', 'G', 'F', 'F', 'C'))

#view data frame
df

  team position
1 AG
2 AG
3 AG
4 AF
5 BG
6 BF
7 BF
8 BC

Katakanlah kita ingin membuat tabel frekuensi yang menunjukkan frekuensi setiap posisi, dikelompokkan berdasarkan tim.

Kita dapat menggunakan sintaks berikut untuk melakukan ini:

 library (dplyr)

#calculate frequency of position, grouped by team
df %>%
group_by (team, position) %>%
summarize (Freq=n())

# A tibble: 5 x 3
# Groups: team [2]
  team position Freq
       
1 AF 1
2 AG 3
3 BC 1
4 BF 2
5 BG 1

Berikut cara menafsirkan hasilnya:

  • 1 pemain dari tim A menempati posisi “F”
  • 3 pemain dari tim A memiliki posisi ‘G’
  • 1 pemain dari tim B menempati posisi “C”
  • 2 pemain dari tim B memiliki posisi ‘F’
  • 1 pemain dari tim B menempati posisi “G”

Perhatikan bahwa kita dapat mengganti nama kolom yang berisi frekuensi dengan mengubah nama variabel di fungsi ringkasan() .

Misalnya, kita bisa mengganti nama kolom “count” sebagai gantinya:

 library (dplyr)

#calculate frequency of position, grouped by team
df %>%
  group_by (team, position) %>%
  summarize (count=n())

# A tibble: 5 x 3
# Groups: team [2]
  team position count
       
1 AF 1
2 AG 3
3 BC 1
4 BF 2
5 BG 1

Sumber daya tambahan

Tutorial berikut menjelaskan cara menjalankan fungsi umum lainnya di dplyr:

Cara menghitung frekuensi relatif menggunakan dplyr
Cara mengurutkan variabel berdasarkan kelompok menggunakan dplyr
Cara memilih kolom berdasarkan indeks menggunakan dplyr

Tambahkan komentar

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