Membagi variabel numerik ke dalam faktor (bucketing)
Teman lama Anda, Dan, mengirimkan daftar 50 obligasi berperingkat AAA bernama AAA_rank, dengan setiap obligasi memiliki angka tambahan dari 1–100 yang menggambarkan seberapa menguntungkan menurutnya obligasi tersebut (100 paling menguntungkan). Anda ingin melakukan analisis lanjutan atas sarannya, tetapi terlebih dahulu akan lebih baik jika obligasi dikelompokkan berdasarkan peringkatnya. Ini akan membantu Anda membuat kelompok obligasi, dari yang paling tidak menguntungkan hingga yang paling menguntungkan, agar lebih mudah dianalisis.
Ini adalah contoh yang bagus untuk membuat faktor dari vektor numerik. Cara termudah adalah menggunakan cut(). Di bawah ini, peringkat 1–100 dari Dan dibagi menjadi 5 kelompok dengan jarak yang sama. Perhatikan bahwa tanda ( pada level faktor berarti kita tidak menyertakan angka di sebelahnya dalam kelompok tersebut, dan tanda ] berarti kita menyertakan angka tersebut dalam kelompoknya.
head(AAA_rank)
[1] 31 48 100 53 85 73
AAA_factor <- cut(x = AAA_rank, breaks = c(0, 20, 40, 60, 80, 100))
head(AAA_factor)
[1] (20,40] (40,60] (80,100] (40,60] (80,100] (60,80]
Levels: (0,20] (20,40] (40,60] (60,80] (80,100]
Dalam fungsi cut(), penggunaan breaks = memungkinkan Anda menentukan kelompok yang Anda inginkan untuk digunakan R dalam membagi data!
Latihan ini merupakan bagian dari kursus
Pengantar R untuk Keuangan
Instruksi latihan
- Alih-alih 5 kelompok, bisakah Anda membuat hanya 4? Pada
breaks =, gunakan sebuah vektor dari 0 hingga 100 dengan setiap elemen berjarak 25 angka. Tetapkan hasilnya keAAA_factor. - Keempat kelompok tersebut belum memiliki nama yang deskriptif. Gunakan
levels()untuk mengganti nama level menjadi"low","medium","high", dan"very_high", dalam urutan tersebut. - Cetak
AAA_factoryang sudah dinamai ulang. - Plot
AAA_factoruntuk memvisualisasikan pekerjaan Anda!
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Create 4 buckets for AAA_rank using cut()
AAA_factor <- cut(x = ___, breaks = ___)
# Rename the levels
# Print AAA_factor
# Plot AAA_factor
plot(___)