Dalam dunia analisis data yang semakin berkembang, kebutuhan untuk memahami dan mengolah data dengan cara yang lebih kontekstual semakin mendesak. Salah satu strategi yang muncul secara signifikan adalah mengubah data numerik menjadi kategori. Dalam artikel ini, kita akan menjelajahi motivasi di balik transformasi ini, manfaatnya, serta langkah-langkah praktis untuk menerapkannya menggunakan dengan R.
1. Mengapa Transformasi Data Numerik Menjadi Kategori Penting?
Contents
Transformasi data numerik menjadi kategori muncul dari keinginan untuk memberikan konteks yang lebih kaya dan pemahaman yang lebih mendalam terhadap data. Beberapa alasan utama melibatkan penyederhanaan interpretasi, peningkatan visualisasi, dan penerapan model machine learning yang lebih baik.
2. Konsep Dasar: Apa Itu Data Kategori?
Data kategori adalah representasi dari data yang berhubungan dengan kategori atau kelompok tertentu. Misalnya, mengubah data umur menjadi kategori seperti “Remaja,” “Dewasa Muda,” dan “Dewasa” membuatnya lebih mudah dipahami daripada bekerja dengan angka tunggal.
3. Manfaat Mengubah Data Numerik Menjadi Kategori
a. Interpretasi yang Mudah Dipahami
Memandang data dalam bentuk kategori memberikan intuisi yang lebih baik. Sebagai contoh, kita bisa lebih mudah memahami distribusi umur jika dikelompokkan menjadi rentang tertentu daripada melihat serangkaian angka.
b. Peningkatan Visualisasi
Visualisasi data kategori sering kali lebih ekspresif dan mudah dipahami daripada visualisasi data numerik. Grafik batang atau pie dapat menyampaikan informasi dengan lebih jelas daripada grafik garis untuk beberapa kasus.
c. Ketepatan Model Machine Learning
Beberapa algoritma machine learning dapat memberikan hasil yang lebih baik saat bekerja dengan data kategori dibandingkan dengan data numerik. Transformasi ini dapat meningkatkan kinerja model dan akurasi prediksi.
Mengubah data numerik menjadi kategori biasanya kita temui dalam mengolah data berbentuk tabel/tabular. Misalkan saja mengolah data nilai ujian. Kalau datanya dikit sih biasanya menggunakan excel cukup ringkas, namun bila datanya sangat banyak tentu akan sangat merepotkan juga. Mengubah data numerik menjadi kategorikal pernah dibahas di https://softscients.com/2020/05/29/mengubah-data-kategori-menjadi-numerik-secara-cepat/#gsc.tab=0 serta juga di https://softscients.com/2020/04/11/buku-belajar-dasar-dasar-statistika-dengan-r-manipulasi-data-frame-dengan-dplyr/#gsc.tab=0
Manipulasi data tabular menggunakan R jauh lebih mudah daripada menggunakan excel ataupun bahasa Python hal ini dikarenakan adanya package dplyr yang sangat mudah dipahami seperti cara kerja di excel.
Mutate
Sebelum membahas mengenai mengubah data numerik menjadi kategori, saya mulai dari perintah mutate() yang digunakan untuk menambah kolom pada package dplyr https://softscients.com/2020/04/11/buku-belajar-dasar-dasar-statistika-dengan-r-manipulasi-data-frame-dengan-dplyr/#gsc.tab=0 . Misalkan saya punya dataset berikut
no nilai 1 1 60 2 2 70 3 3 80 4 4 75 5 5 80 6 6 90 7 7 98 8 8 55
kita akan menambah kolom dengan nama grade
dat = dat %>% mutate(grade="-")
isinya masih kosong
no nilai grade 1 1 60 - 2 2 70 - 3 3 80 - 4 4 75 - 5 5 80 - 6 6 90 - 7 7 98 - 8 8 55 -
Mengubah data numerik menjadi kategori
Untuk Mengubah data numerik menjadi kategori kita bisa menggunakan if else dengan 2 bentuk yaitu
- ifelse
- if_else
keduanya sama penggunaanya hanya saja untuk if_else diberikan 3 nilai dengan nilai ke 3 untuk missing value kalau kondisi if else tidak terpenuhi, misalkan saja kita punya aturan grade nilai sebagai berikut
- nilai A jika 90 sd 100
- nilai B jika 70 sd 89
- nilai C jika 30 sd 69
- nilai D jika kurang dari 30
maka kode if else yang digunakan yaitu
dat = dat %>% mutate(grade=ifelse(nilai>=90 & nilai<=100,"A", ifelse(nilai>=70 & nilai <=89,"B", ifelse(nilai>=30 & nilai <=69,"C","D"))))
hasil dari mengubah data numerik menjadi kategori yaitu
no nilai grade 1 1 60 C 2 2 70 B 3 3 80 B 4 4 75 B 5 5 80 B 6 6 90 A 7 7 98 A 8 8 55 C
Bagaimana menurut kalian cara mudah mengubah data numerik menjadi kategori? mudah yaa