Home » R » Struktur Data R : Faktor Pada R Language

Struktur Data R : Faktor Pada R Language

by Hanifah Nurbaeti
by Hanifah Nurbaeti

Section Artikel

Faktor

Faktor adalah objek data yang digunakan untuk mengkategorikan data dan menyimpannya sebagai level. Digunakan untuk menyimpan string dan integer. Bisa juga digunakan pada kolom yang memiliki nilai unik dalam jumlah terbatas dan dapat digunakan dalam analisis data untuk pemodelan statistik. Singkatnya, faktor digunakan untuk mengkategorikan data. Contoh faktornya adalah:

  • Demografi: Pria / Wanita
  • Musik: Rock, Pop, Klasik, Jazz
  • Latihan: Kekuatan, Stamina

Untuk membuat faktor, gunakan fungsi factor() dan tambahkan vektor sebagai argumen:

Contoh

# Buat factor
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

# Cetak factor
music_genre

Output :

[1] Jazz    Rock    Classic Classic Pop     Jazz    Rock    Jazz
Levels: Classic Jazz Pop Rock

Bisa juga melihat dari contoh di atas bahwa faktor tersebut memiliki empat tingkatan (kategori): Klasik, Jazz, Pop dan Rock.

Untuk hanya mencetak level, gunakan fungsi level():

Contoh

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

levels(music_genre)

Output :

[1] "Classic" "Jazz"    "Pop"     "Rock" 

Kita juga bisa mengatur level, dengan menambahkan argumen level di dalam fungsi factor():

Contoh

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock", "Other"))

levels(music_genre)

Output :

[1] "Classic" "Jazz"    "Pop"     "Rock"    "Other"

Syntax

gl(n, k, labels)

Deskripsi :

n adalah bilangan bulat yang memberikan jumlah level.

k adalah bilangan bulat yang memberikan jumlah ulangan.

label adalah vektor label untuk tingkat faktor yang dihasilkan.

Panjang Faktor

Gunakan fungsi length() untuk mencari tahu berapa banyak item yang ada dalam faktor:

Contoh

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

length(music_genre)

Output :

[1] 8

Mengakses Faktor

Untuk mengakses item dalam suatu faktor, lihat nomor indeks, menggunakan tanda kurung []:

Contoh

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

music_genre[3]

Output :

[1] Classic
Levels: Classic Jazz Pop Rock

Ubah Nilai Item

Untuk mengubah nilai item tertentu, lihat nomor indeks:

Contoh
Ubah nilai item ketiga:

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

music_genre[3] <- "Pop"

music_genre[3]

Output :

[1] Pop
Levels: Classic Jazz Pop Rock

Terlihat bahwa kita tidak bisa mengubah nilai item tertentu jika belum ditentukan dalam faktor. Contoh berikut akan menghasilkan kesalahan(error):

Contoh
Mencoba mengubah nilai item ketiga (“Klasik”) menjadi item yang tidak ada / tidak ditentukan (“Opera”):

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

music_genre[3] <- "Opera"

music_genre[3]

Output :

Warning message:
In `[<-.factor`(`*tmp*`, 3, value = "Opera") :
  invalid factor level, NA generated

Namun, jika telah ditentukan di dalam argumen levels, maka ini akan berfungsi:

Contoh
Ubah nilai item ketiga:

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock", "Opera"))

music_genre[3] <- "Opera"

music_genre[3]

Output :

[1] Opera
Levels: Classic Jazz Pop Rock Opera

Faktor dalam Data Frame

Saat membuat data frame apa pun dengan kolom data teks, R memperlakukan kolom teks sebagai data kategorikal dan membuat faktor di atasnya.

Contoh

# Buat vektor untuk data frame.
height <- c(132,151,162,139,166,147,122)
weight <- c(48,49,66,53,67,52,40)
gender <- c("male","male","female","female","male","female","male")

# Buat data frame.
input_data <- data.frame(height,weight,gender)
print(input_data)

# Uji apakah kolom gender adalah sebuah faktor.
print(is.factor(input_data$gender))

# Cetak kolom gender jadi lihat levelnya.
print(input_data$gender)

Output :

  height weight gender
1    132     48   male
2    151     49   male
3    162     66 female
4    139     53 female
5    166     67   male
6    147     52 female
7    122     40   male
[1] TRUE
[1] male   male   female female male   female male  
Levels: female male

Tingkat Faktor Penghasil

Kita bisa menghasilkan level faktor dengan menggunakan fungsi gl(). Dibutuhkan dua bilangan bulat sebagai input yang menunjukkan berapa banyak level dan berapa kali setiap level.

Contoh

v <- gl(3, 4, labels = c("Tampa", "Seattle","Boston"))
print(v)

Output :

Tampa   Tampa   Tampa   Tampa   Seattle Seattle Seattle Seattle Boston 
[10] Boston  Boston  Boston 
Levels: Tampa Seattle Boston

You may also like