Cara membuat variabel kategori dari lanjutkan di r
Anda dapat menggunakan fungsi cut() di R untuk membuat variabel kategorikal dari variabel kontinu.
Fungsi ini menggunakan sintaks dasar berikut:
df$cat_variable <- cut(df$continuous_variable, breaks=c(5, 10, 15, 20, 25), labels=c(' A ', ' B ', ' C ', ' D '))
Perhatikan bahwa break menentukan nilai untuk membagi variabel kontinu dan label menentukan label untuk diberikan pada nilai variabel kategori baru.
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Contoh: membuat variabel kategori dari sebuah kontinum di R
Misalkan kita memiliki bingkai data berikut di R:
#create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'),
points=c(78, 82, 86, 94, 99, 104, 109, 110))
#view data frame
df
team points
1 To 78
2 B 82
3 C 86
4 D 94
5 E 99
6 F 104
7 G 109
8:11 a.m.
Saat ini, poin merupakan variabel kontinu.
Kita dapat menggunakan fungsi cut() untuk memotongnya menjadi variabel kategori:
#add new column that cuts 'points' into categories
df$cat <- cut(df$points,
breaks=c(70, 80, 90, 100, 110),
labels=c('Bad', 'OK', 'Good', 'Great'))
#view updated data frame
df
team points cat
1 To 78 Bad
2 B 82 OK
3 C 86 OK
4 D 94 Good
5 E 99 Good
6 F 104 Great
7 G 109 Great
8:110 Great
Kami membuat variabel kategori baru yang disebut cat yang memberi peringkat pada setiap tim dalam bingkai data sebagai Buruk, OK, Baik, atau Sangat Baik berdasarkan poin mereka.
Kita dapat menggunakan fungsi class() untuk memeriksa kelas variabel baru ini:
#check class of 'cat' column
class(df$cat)
[1] “factor”
Kita melihat bahwa variabel cat adalah sebuah faktor.
Kita juga bisa menggunakan fungsi table() untuk menghitung kemunculan setiap kategori dalam variabel cat :
#count occurrences of each category in 'cat' variable
table(df$cat)
Bad OK Good Great
1 2 2 3
Perhatikan bahwa jika Anda tidak memberikan argumen label ke fungsi cut() , R hanya akan menggunakan rentang nilai interval sebagai label:
#add new column that cuts 'points' into categories
df$cat <- cut(df$points, breaks=c(70, 80, 90, 100, 110))
#view updated data frame
df
team points cat
1 A 78 (70.80]
2 B 82 (80.90]
3 C 86 (80.90]
4 D 94 (90,100]
5 E 99 (90,100]
6 F 104 (100,110]
7 G 109 (100,110]
8:110 (100,110]
Dalam beberapa kasus, Anda mungkin lebih memilih ini daripada menggunakan label khusus.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di R:
Bagaimana cara mengubah variabel kategori menjadi numerik di R
Cara membuat variabel kategori di R
Cara memplot data kategorikal di R