Cara menghitung nilai yang berbeda menggunakan dplyr (dengan contoh)


Anda dapat menggunakan salah satu metode berikut untuk menghitung jumlah nilai berbeda dalam bingkai data R menggunakan fungsi n_distinct() dplyr :

Metode 1: Hitung nilai yang berbeda dalam sebuah kolom

 n_distinct(df$column_name)

Metode 2: Hitung nilai berbeda di semua kolom

 sapply(df, function (x) n_distinct(x))

Metode 3: Hitung nilai yang berbeda berdasarkan kelompok

 df %>%
group_by (grouping_column) %>%
summarize (count_distinct = n_distinct(values_column))

Contoh berikut menunjukkan cara menggunakan masing-masing metode ini dalam praktik dengan kerangka data berikut:

 library (dplyr)

#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(6, 6, 8, 10, 9, 9, 12, 12),
                 assists=c(3, 6, 4, 2, 4, 5, 5, 9))

#view data frame
df

  team points assists
1 to 6 3
2 to 6 6
3 to 8 4
4 to 10 2
5 B 9 4
6 B 9 5
7 B 12 5
8 B 12 9

Metode 1: Hitung nilai yang berbeda dalam sebuah kolom

Kode berikut menunjukkan cara menggunakan n_distinct() untuk menghitung jumlah nilai berbeda di kolom ‘tim’:

 #count distinct values in 'team' column
n_distinct(df$team)

[1] 2

Ada 2 nilai berbeda pada kolom ‘tim’.

Metode 2: Hitung nilai berbeda di semua kolom

Kode berikut menunjukkan cara menggunakan fungsi sapply() dan n_distinct() untuk menghitung jumlah nilai berbeda di setiap kolom bingkai data:

 #count distinct values in every column
sapply(df, function (x) n_distinct(x))

   team points assists 
      2 5 6

Dari hasilnya kita dapat melihat:

  • Ada 2 nilai berbeda pada kolom ‘tim’
  • Ada 5 nilai berbeda di kolom “poin”.
  • Ada 6 nilai berbeda di kolom “bantuan”.

Metode 3: Hitung nilai yang berbeda berdasarkan kelompok

Kode berikut menunjukkan cara menggunakan fungsi n_distinct() untuk menghitung jumlah nilai berbeda per grup:

 #count distinct 'points' values by 'team'
df %>%
  group_by (team) %>%
  summarize (distinct_points = n_distinct(points))

# A tibble: 2 x 2
  team distinct_points 
1 to 3
2 B 2

Dari hasilnya kita dapat melihat:

  • Ada 3 nilai poin berbeda untuk Tim A.
  • Ada 2 nilai poin terpisah untuk Tim B.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya menggunakan dplyr:

Cara mengkode ulang nilai menggunakan dplyr
Bagaimana cara mengganti NA dengan Zero di dplyr
Cara mengurutkan variabel berdasarkan kelompok menggunakan dplyr
Cara memilih baris pertama berdasarkan grup menggunakan dplyr

Tambahkan komentar

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