Kursus

Factor adalah variabel di R yang mengambil variabel kategorikal dan menyimpan data dalam bentuk level. Penggunaan utama fungsi ini terlihat dalam analisis data dan khususnya dalam analisis statistik. Selain itu, factor membantu mengurangi redundansi data dan menghemat banyak ruang di memori.
Catatan: Variabel kategorikal adalah variabel yang nilainya didasarkan pada label atau nama. Misalnya, golongan darah manusia bisa A, B, AB, atau O.
fungsi factor
Penggunaan: Mengkategorikan data yang memiliki jumlah nilai sedikit.
Parameter: factor(v): v dapat berupa vektor nilai.
Mari lihat contoh factor secara langsung.
Lihat kode di bawah ini, terdapat dua variabel kategorikal, yaitu "Male" dan "Female", yang disebut juga nilai factor.
gender <- c("Male","Female","Female","Male","Female")
Mari buat factor untuk gender dengan menggunakan 'factor(gender)' dan menyimpannya ke variabel bernama 'gender.factor'.
gender.factor <- factor(gender)
gender.factor
- Male
- Female
- Female
- Male
- Female
Level:
- 'Female'
- 'Male'
Kode di atas memberikan keluaran sebagai berikut:
Male Female Female Male Female
Levels:
'Female' 'Male'
Anda dapat melihat di atas bahwa nilai dicetak sama seperti vektor masukan. Selain itu, 'Levels', yaitu 'Female' dan 'Male', diurutkan secara alfabetis.
Struktur fungsi factor
Mari periksa struktur untuk fungsi factor dengan menggunakan 'str(gender.factor)' pada kode di bawah.
str(gender.factor)
Factor w/ 2 levels "Female","Male": 2 1 1 2 1
Factor w/ 2 levels "Female","Male": 2 1 1 2 1
Keluaran di atas menunjukkan bahwa ada factor dengan 2 level. factor mengonversi vektor karakter seperti gender menjadi vektor nilai integer. "Female" adalah level pertama yang dikodekan sebagai 1 sedangkan "Male" adalah level kedua, dikodekan sebagai 2.
Tujuan utama pengodean dari karakter ke numerik adalah agar kategori yang berulang tidak redundan, yang dapat memakan banyak ruang memori. Dengan menggunakan factor, beban untuk menghemat ruang di memori menjadi berkurang.
Mengubah Urutan Level
Mari ubah urutan level sehingga level "Female" menjadi 2 dan "Male" menjadi 1.
Mari buat factor baru untuk gender dengan mengubah level "Male" dan "Female" dengan memberikannya sebagai masukan vektor ke "levels". Terakhir, keluaran hasilnya disimpan ke variabel bernama "gender.factor2".
gender.factor2 <- factor(gender,levels=c("Male","Female"))
gender.factor2
str(gender.factor2)
- Male
- Female
- Female
- Male
- Female
Level:
- 'Male'
- 'Female'
Factor w/ 2 levels "Male","Female": 1 2 2 1 2
'gender.factor2' dicetak beserta strukturnya yang dicetak menggunakan 'str(gender.factor2)' di mana perubahan berikut dapat terlihat.
Male Female Female Male Female
Levels:
'Male' 'Female'
Factor w/ 2 levels "Male","Female": 1 2 2 1 2
Kode di atas memberikan keluaran di mana pengodean "Male" adalah 1, dan "Female" adalah 2. Ini berbeda dari 'gender.factor', yang kebalikannya pada kode sebelumnya.
Mengganti Nama Level Factor
Mari ubah nama nilai vektor pada masukan dengan menentukan penggunaan biasa 'levels' sebagai argumen pertama dengan nilai "Male" dan "Female" serta nilai vektor yang diharapkan berubah menggunakan 'labels' sebagai argumen kedua dengan "Gen_Male" dan "Gen_Female" masing-masing.
factor(gender,levels = c("Male","Female"),labels = c("Gen_Male","Gen_Female"))
- Gen_Male
- Gen_Female
- Gen_Female
- Gen_Male
- Gen_Female
Level:
- 'Gen_Male'
- 'Gen_Female'
Gen_Male Gen_Female Gen_Female Gen_Male Gen_Female
Levels:
'Gen_Male' 'Gen_Female'
Kode di atas memberikan keluaran di mana nama "Male" diubah menjadi "Gen_Male" dan "Female" menjadi "Gen_Female".
Mengurutkan Variabel Kategorikal
Mari lihat contoh berbeda saat menangani nilai kategorikal ordinal di mana urutan penting. Misalnya, untuk ukuran celana, mungkin ada ukuran yang dianggap Besar sebagai "L", Ekstra Besar sebagai "XL", dan Ekstra ekstra Besar sebagai "XXL" yang diatur dalam urutan menaik. Kode di bawah ini berisi kumpulan masukan vektor karakter "L", "XL" dan "XXL" dan disimpan ke 'pant'. 'pant.factor' adalah variabel yang memiliki parameter berisi level yang diatur dalam urutan menaik sebagai 'levels = c("L", "XL", "XXL")' dan akhirnya 'ordered = TRUE', yang memungkinkan pengurutan sesuai kebutuhan Anda.
pant <- c("XL","L","XL","XXL","L","XL")
pant.factor <- factor(pant,ordered = TRUE,levels = c("L","XL","XXL"))
pant.factor
pant.factor[1] > pant.factor[2]
- XL
- L
- XL
- XXL
- L
- XL
Level:
- 'L'
- 'XL'
- 'XXL'
TRUE
XL L XL XXL L XL
Levels:'L'< 'XL' < 'XXL'
TRUE
Keluaran di atas menunjukkan keluaran normal terlebih dahulu di mana semua nilai vektor (XL, L, XL, XXL, L, XL) dicetak menggunakan 'pant.factor'. Level dari nilai vektor 'L' < 'XL' < 'XXL' diatur dalam urutan menaik, yang dicetak di konsol. Selain itu, 'pant.factor[1] > pant.factor[2]' membandingkan apakah "XL" lebih besar daripada "L", yang menghasilkan TRUE dicetak.
Selamat
Selamat, Anda telah sampai di akhir tutorial ini!
Dalam tutorial ini, Anda telah mempelajari fungsi factor di R, beserta contohnya, serta strukturnya, urutan level, penggantian nama level, dan akhirnya pengurutan nilai kategorikal.
Jika Anda ingin mempelajari lebih lanjut tentang R, ikuti kursus Introduction to R dari DataCamp.
Lihat juga tutorial kami tentang Menggunakan Fungsi di R.
