Lewati ke konten utama

Tutorial Faktor di R

Pelajari fungsi factor di R, beserta contohnya, serta strukturnya, urutan level, penggantian nama level, dan akhirnya pengurutan nilai kategorikal.
Diperbarui 28 Sep 2026  · 5 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity
banner

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
  1. Male
  2. Female
  3. Female
  4. Male
  5. Female
Level:
  1. 'Female'
  2. '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)
  1. Male
  2. Female
  3. Female
  4. Male
  5. Female
Level:
  1. 'Male'
  2. '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"))
  1. Gen_Male
  2. Gen_Female
  3. Gen_Female
  4. Gen_Male
  5. Gen_Female
Level:
  1. 'Gen_Male'
  2. '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]
  1. XL
  2. L
  3. XL
  4. XXL
  5. L
  6. XL
Level:
  1. 'L'
  2. 'XL'
  3. '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.
 

Topik
R
Data Science

Kursus R

Kursus

Pengantar R

4 jam
3.1M
Kuasai dasar analisis data di R, termasuk vectors, lists, dan data frames, lalu praktikkan R dengan data sets nyata.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya