Cara mengonversi faktor ke numerik di r (dengan contoh)


Kita dapat menggunakan sintaks berikut untuk mengubah vektor faktor menjadi vektor numerik di R:

 numeric_vector <- as. numeric (as. character (factor_vector))

Pertama-tama kita harus mengubah vektor faktor menjadi vektor karakter, kemudian menjadi vektor numerik. Ini memastikan bahwa vektor numerik berisi nilai numerik aktual, bukan tingkat faktor.

Tutorial ini memberikan beberapa contoh penggunaan praktis fungsi ini.

Contoh 1: Ubah Vektor Faktor menjadi Numerik

Kode berikut menunjukkan cara mengubah vektor faktor menjadi vektor numerik:

 #define factor vector
factor_vector <- factor(c(1, 5, 7, 8))

#convert factor vector to numeric vector
numeric_vector <- as. numeric (as. character (factor_vector))

#view class
class(numeric_vector)

[1] "digital"

Contoh 2: Ubah Kolom Faktor menjadi Numerik

Kode berikut menunjukkan cara mengonversi kolom tertentu dalam bingkai data faktor menjadi numerik:

 #create data frame
df <- data. frame (a = factor(c(1, 5, 7, 8)),
b = c(28, 34, 35, 36))

#convert column 'a' from factor to numeric
df$a <- as. numeric (as. character (df$a))

#view new data frame
df

  ab
1 1 28
2 5 34
3 7 35
4 8 36

#confirm class of numerical vector
class(df$a)

[1] "digital"

Contoh 3: Ubah Beberapa Kolom Faktor menjadi Numerik

Kode berikut menunjukkan cara mengonversi semua kolom faktor dalam bingkai data faktor menjadi nilai numerik:

 #create data frame
df <- data. frame (a = factor(c(1, 5, 7, 8)),
                 b = factor(c(2, 3, 4, 5)),
                 c = c('A', 'B', 'C', 'D'),
                 d = c(45, 56, 54, 57))

#display classes of each column
sapply(df, class)

       abcd
"factor" "factor" "character" "numeric" 

#identify all factor columns
x <- sapply (df, is. factor )

#convert all factor columns to numeric
df[, x] <- as. data . frame ( apply (df[, x], 2, as.numeric ))

#display classes of each column
sapply (df, class)

        abcd
"numeric" "numeric" "character" "numeric"

Kode ini membuat perubahan berikut pada kolom bingkai data:

  • Kolom a: Dari tukang pos ke digital
  • Kolom b: Dari tukang pos ke digital
  • Kolom c: Tidak berubah (karena berupa karakter)
  • Kolom d : Tidak berubah (karena sudah berupa angka)

Dengan menggunakan fungsi apply() dan sapply() , kami hanya dapat mengonversi kolom faktor menjadi kolom numerik dan membiarkan kolom lainnya tidak berubah.

Sumber daya tambahan

Cara mengubah karakter menjadi faktor di R
Cara mengubah faktor menjadi karakter di R
Cara mengonversi karakter menjadi stempel waktu di R

Tambahkan komentar

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