Cara melakukan pengelompokan data di r: dengan contoh
Anda dapat menggunakan salah satu dari dua metode untuk melakukan pengelompokan data di R:
Metode 1: gunakan fungsi cut()
library (dplyr) #perform binning with custom breaks df %>% mutate(new_bin = cut(variable_name, breaks=c(0, 10, 20, 30))) #perform binning with specific number of bins df %>% mutate(new_bin = cut(variable_name, breaks= 3 ))
Metode 2: gunakan fungsi ntile()
library (dplyr) #perform binning with specific number of bins df %>% mutate(new_bin = ntile(variable_name, n= 3 ))
Contoh berikut menunjukkan cara menggunakan setiap metode dalam praktik dengan kerangka data berikut:
#create data frame
df <- data. frame (points=c(4, 4, 7, 8, 12, 13, 15, 18, 22, 23, 23, 25),
assists=c(2, 5, 4, 7, 7, 8, 5, 4, 5, 11, 13, 8),
rebounds=c(7, 7, 4, 6, 3, 8, 9, 9, 12, 11, 8, 9))
#view head of data frame
head(df)
points assists rebounds
1 4 2 7
2 4 5 7
3 7 4 4
4 8 7 6
5 12 7 3
6 13 8 8
Contoh 1: Lakukan pengelompokan data dengan fungsi cut()
Kode berikut menunjukkan cara melakukan pengelompokan data pada variabel poin menggunakan fungsi cut() dengan tanda putus tertentu:
library (dplyr)
#perform data binning on variable points
df %>% mutate(points_bin = cut(points, breaks=c(0, 10, 20, 30)))
points assists rebounds points_bin
1 4 2 7 (0.10]
2 4 5 7 (0.10]
3 7 4 4 (0.10]
4 8 7 6 (0.10]
5 12 7 3 (10.20]
6 13 8 8 (10.20]
7 15 5 9 (10.20]
8 18 4 9 (10.20]
9 22 5 12 (20.30]
10 23 11 11 (20.30]
11 23 13 8 (20.30]
12 25 8 9 (20.30]
Perhatikan bahwa setiap baris dalam bingkai data telah ditempatkan ke dalam salah satu dari tiga kelompok berdasarkan nilai kolom titik.
Kita juga bisa menentukan jumlah lompatan yang digunakan untuk membuat kotak dengan lebar yang sama mulai dari nilai minimum ke nilai maksimum kolom poin :
library (dplyr)
#perform data binning on variable points
df %>% mutate(points_bin = cut(points, breaks= 3 ))
points assists rebounds points_bin
1 4 2 7 (3.98.11]
2 4 5 7 (3.98.11]
3 7 4 4 (3.98.11]
4 8 7 6 (3.98.11]
5 12 7 3 (11.18]
6 13 8 8 (11.18]
7 15 5 9 (11.18]
8 18 4 9 (11.18]
9 22 5 12 (18.25]
10 23 11 11 (18.25]
11 23 13 8 (18.25]
12 25 8 9 (18.25]
Contoh 2: Lakukan pengelompokan data dengan fungsi ntile()
Kode berikut menunjukkan cara melakukan pengelompokan data pada variabel poin menggunakan fungsi ntile() dengan jumlah grup hasil tertentu:
library (dplyr)
#perform data binning on variable points
df %>% mutate(points_bin = ntile(points, n= 3 ))
points assists rebounds points_bin
1 4 2 7 1
2 4 5 7 1
3 7 4 4 1
4 8 7 6 1
5 12 7 3 2
6 13 8 8 2
7 15 5 9 2
8 18 4 9 2
9 22 5 12 3
10 23 11 11 3
11 23 13 8 3
12 25 8 9 3
Perhatikan bahwa setiap baris telah diberi kotak dari 1 hingga 3 berdasarkan nilai kolom poin .
Yang terbaik adalah menggunakan fungsi ntile() ketika Anda ingin nilai integer ditampilkan di setiap baris daripada interval yang menunjukkan rentang bin.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:
Cara mengganti nilai secara kondisional dalam bingkai data di R
Cara menghitung mean terpangkas di R
Cara menghitung mean bersyarat di R