Cara mengonversi numerik ke faktor di r (dengan contoh)


Ada dua metode yang dapat Anda gunakan untuk mengonversi variabel numerik menjadi variabel faktorial di R:

Metode 1: Gunakan as.factor()

 df$factor_variable <- as. factor (df$numeric_variable)

Ini akan mengubah variabel numerik menjadi variabel faktor dengan jumlah level yang sama dengan jumlah nilai unik pada variabel numerik aslinya.

Metode 2: Gunakan potong()

 df$factor_variable <- cut(df$numeric_variable, 3 , labels=c(' lab1 ', ' lab2 ', ' lab3 '))

Contoh khusus ini akan mengubah variabel numerik menjadi variabel faktorial dengan “memotong” variabel numerik menjadi 3 nilai dengan jarak yang sama.

Contoh berikut menunjukkan cara menggunakan setiap metode dalam praktik dengan kerangka data berikut di R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'C', 'D'),
                 points=c(12, 15, 22, 29, 35, 24, 11, 24))

#view data frame
df

  team points
1 to 12
2 to 15
3 B 22
4 B 29
5 C 35
6 C 24
7 C 11
8 D 24

#view structure of data frame
str(df)

'data.frame': 8 obs. of 2 variables:
 $ team: chr "A" "A" "B" "B" ...
 $ points: num 12 15 22 29 35 24 11 24

Contoh 1: Ubah Numerik menjadi Faktor Menggunakan as.factor()

Kode berikut menunjukkan cara menggunakan as.factor() untuk mengubah kolom titik dari numerik menjadi faktor:

 #convert points column from numeric to factor
df$points <- as. factor (df$points)

#view updated data frame
df

  team points
1 to 12
2 to 15
3 B 22
4 B 29
5 C 35
6 C 24
7 C 11
8 D 24

#view updated structure of data frame
str(df)

'data.frame': 8 obs. of 2 variables:
 $ team: chr "A" "A" "B" "B" ...
 $ points: Factor w/ 7 levels "11","12","15",..: 2 3 4 6 7 5 1 5

Dengan menggunakan fungsi str() untuk memvisualisasikan struktur bingkai data, kita dapat melihat bahwa kolom poin sekarang menjadi faktor dengan 7 level berbeda yang mewakili 7 nilai numerik unik di kolom tersebut.

Contoh 2: Ubah angka menjadi faktor menggunakan cut()

Kode berikut menunjukkan cara menggunakan cut() untuk mengonversi kolom poin dari variabel numerik menjadi variabel faktor 3 tingkat:

 #convert points column from numeric to factor with three levels
df$points <- cut(df$points, 3 , labels=c(' OK ', ' Good ', ' Great '))

#view updated data frame
df

  team points
1 A OK
2 A OK
3 B Good
4 B Great
5 C Great
6 C Good
7 C OK
8 D Good

#view updated structure of data frame
str(df)

'data.frame': 8 obs. of 2 variables:
 $ team: chr "A" "A" "B" "B" ...
 $ points: Factor w/ 3 levels "OK","Good","Great": 1 1 2 3 3 2 1 2

Dari hasilnya terlihat bahwa variabel poin telah diubah dari variabel numerik menjadi variabel faktor dengan tiga level dan label sebagai berikut:

  • “BAIKLAH”
  • “BAGUS”
  • “Besar”

Perhatikan bahwa kami memilih untuk menggunakan tiga level dalam contoh ini, namun silakan potong variabel numerik menjadi sebanyak level yang Anda inginkan dengan mengganti angka 3 pada fungsi cut() dengan nilai lain.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:

Cara mengubah angka menjadi karakter di R
Cara mengubah faktor menjadi numerik di R
Cara mengubah faktor menjadi karakter di R

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *