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