Cara memperbaikinya di r: na yang diperkenalkan dengan paksaan


Pesan peringatan umum yang mungkin Anda temui di R adalah:

 Warning message:
NAs introduced by coercion 

Pesan peringatan ini terjadi ketika Anda menggunakan as.numeric() untuk mengubah vektor di R menjadi vektor numerik dan kebetulan ada nilai non-numerik di vektor aslinya.

Untuk lebih jelasnya, Anda tidak perlu melakukan apa pun untuk “memperbaiki” pesan peringatan ini. R hanya memperingatkan Anda bahwa beberapa nilai dalam vektor asli diubah menjadi NA karena tidak dapat diubah menjadi nilai numerik.

Namun, tutorial ini membagikan langkah-langkah tepat yang dapat Anda ikuti jika Anda tidak ingin pesan peringatan ini ditampilkan sama sekali.

Cara mereproduksi pesan peringatan

Kode berikut mengubah vektor karakter menjadi vektor numerik:

 #define character vector
x <- c('1', '2', '3', NA, '4', 'Hey')

#convert to numeric vector
x_num <- as. numeric (x)

#display digital vector
x_num

Warning message:
NAs introduced by coercion 
[1] 1 2 3 NA 4 NA

R mengubah vektor karakter menjadi vektor numerik, tetapi menampilkan pesan peringatan NA yang diperkenalkan melalui paksaan karena dua nilai vektor asli tidak dapat dikonversi ke nilai numerik.

Metode #1: Hapus Peringatan

Salah satu cara untuk menangani pesan peringatan ini adalah dengan menyembunyikannya menggunakan fungsi supressWarnings() saat mengonversi vektor karakter menjadi vektor numerik:

 #define character vector
x <- c('1', '2', '3', NA, '4', 'Hey')

#convert to numeric vector, suppressing warnings
suppressWarnings(x_num <- as.numeric (x))

#display digital vector
x_num

[1] 1 2 3 NA 4 NA

R berhasil mengubah vektor karakter menjadi vektor numerik tanpa menampilkan pesan peringatan apa pun.

Metode #2: Ganti nilai non-numerik

Salah satu cara untuk menghindari pesan peringatan adalah dengan mengganti nilai non-numerik dari vektor asli dengan spasi menggunakan fungsi gsub() :

 #define character vector
x <- c('1', '2', '3', '4', 'Hey')

#replace non-numeric values with 0
x <- gsub(" Hey ", " 0 ", x)

#convert to numeric vector
x_num <- as. numeric (x)

#display digital vector
x_num

[1] 1 2 3 4 0

R berhasil mengubah vektor karakter menjadi vektor numerik tanpa menampilkan pesan peringatan apa pun.

Sumber daya tambahan

Tutorial berikut menjelaskan cara mengatasi kesalahan umum lainnya di R:

Cara memperbaiki di R: Nama tidak sesuai dengan nama sebelumnya
Cara memperbaikinya di R: panjang benda yang lebih panjang bukan kelipatan panjang benda yang lebih pendek
Cara memperbaikinya di R: kontras hanya dapat diterapkan pada faktor dengan 2 level atau lebih

Tambahkan komentar

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