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