Cara menghitung frekuensi relatif menggunakan dplyr
Seringkali Anda mungkin ingin menghitung frekuensi relatif/proporsi nilai dalam satu atau lebih kolom bingkai data di R.
Untungnya, hal ini mudah dilakukan dengan menggunakan fungsi dalam paket dplyr . Tutorial ini menunjukkan cara menggunakan fungsi ini untuk menghitung frekuensi relatif pada bingkai data berikut:
#create data frame df <- data.frame(team = c('A', 'A', 'A', 'B', 'B', 'B', 'B'), position = c('G', 'F', 'F', 'G', 'G', 'G', 'F'), points = c(12, 15, 19, 22, 32, 34, 39)) #view data frame df team position points 1 AG 12 2 AF15 3 FY 19 4 BG 22 5 BG 32 6 BG 34 7 BF 39
Contoh 1: Frekuensi relatif suatu variabel
Kode berikut menunjukkan cara menghitung frekuensi relatif setiap tim dalam bingkai data:
library(dplyr) df %>% group_by (team) %>% summarize (n = n()) %>% mutate (freq = n / sum(n)) # A tibble: 2 x 3 team n freq 1 to 3 0.429 2 B 4 0.571
Ini memberitahu kita bahwa Tim A menyumbang 42,9% dari seluruh baris dalam bingkai data sementara Tim B menyumbang 57,1% baris sisanya. Perhatikan bahwa jika digabungkan, jumlahnya mencapai 100%.
Terkait: Panduan Lengkap: Cara Mengelompokkan dan Meringkas Data di R
Contoh 2: Frekuensi relatif beberapa variabel
Kode berikut menunjukkan cara menghitung frekuensi relatif posisi per tim:
library(dplyr) df %>% group_by (team, position) %>% summarize (n = n()) %>% mutate (freq = n / sum(n)) # A tibble: 4 x 4 # Groups: team [2] team position n freq 1 AF 2 0.667 2 AG 1 0.333 3 BF 1 0.250 4 BG 3 0.750
Ini memberitahu kita bahwa:
- 66,7% pemain tim A berada di posisi F.
- 33,3% pemain tim A berada di posisi G.
- 25,0% pemain tim A berada di posisi F.
- 75,0% pemain tim B berada di posisi G.
Terkait: Cara Menggunakan Mutate untuk Membuat Variabel Baru di R
Contoh 3: Tampilkan frekuensi relatif sebagai persentase
Kode berikut menunjukkan cara menghitung frekuensi relatif posisi berdasarkan tim dan cara menampilkan frekuensi relatif ini sebagai persentase:
library(dplyr) df %>% group_by (team, position) %>% summarize (n = n()) %>% mutate (freq = paste0(round(100 * n/sum(n), 0), ' % ')) # A tibble: 4 x 4 # Groups: team [2] team position n freq 1 AF 2 67% 2 GA 1 33% 3 BF 1 25% 4 BG 3 75%
Anda dapat menemukan lebih banyak tutorial R di sini .