Cara menangani nilai nan di r (dengan contoh)
Di R, NaN adalah singkatan dari Not a Number.
Biasanya, nilai NaN terjadi saat Anda mencoba melakukan penghitungan yang menghasilkan hasil yang tidak valid.
Misalnya, membagi dengan nol atau menghitung log bilangan negatif, keduanya menghasilkan nilai NaN:
#attempt to divide by zero 0 / 0 [1]NaN #attempt to calculate log of negative value log(-12) [1]NaN
Perhatikan bahwa nilai NaN berbeda dengan nilai NA , yang hanya mewakili nilai yang hilang.
Anda dapat menggunakan metode berikut untuk menangani nilai NaN di R:
#identify positions in vector with NaN values which(is. nan (x)) #count total NaN values in vector sum(is. nan (x)) #remove NaN values in vector x_new <- x[!is. no (x)] #replace NaN values in vector x[is. nan (x)] <- 0
Contoh berikut menunjukkan cara menggunakan masing-masing metode ini dalam praktik.
Contoh 1: Identifikasi posisi dalam vektor dengan nilai NaN
Kode berikut menunjukkan cara mengidentifikasi posisi dalam vektor yang berisi nilai NaN:
#create vector with some NaN values
x <- c(1, NaN, 12, NaN, 50, 30)
#identify positions with NaN values
which(is. nan (x))
[1] 2 4
Dari hasilnya terlihat bahwa elemen pada posisi 2 dan 4 pada vektor merupakan nilai NaN.
Contoh 2: Menghitung Nilai Total NaN dalam suatu Vektor
Kode berikut menunjukkan cara menghitung jumlah total nilai NaN dalam sebuah vektor di R:
#create vector with some NaN values
x <- c(1, NaN, 12, NaN, 50, 30)
#identify positions with NaN values
sum(is. nan (x))
[1] 2
Dari hasilnya terlihat ada 2 nilai NaN total pada vektor.
Contoh 3: Hapus nilai NaN dalam vektor
Kode berikut menunjukkan cara membuat vektor baru dengan nilai NaN yang dihapus dari vektor aslinya:
#create vector with some NaN values
x <- c(1, NaN, 12, NaN, 50, 30)
#define new vector with NaN values removed
x_new <- x[!is. no (x)]
#view new vector
x_new
[1] 1 12 50 30
Perhatikan bahwa kedua nilai NaN telah dihapus dari vektor.
Contoh 4: Ganti nilai NaN dalam vektor
Kode berikut menunjukkan cara mengganti nilai NaN dalam vektor dengan nol:
#create vector with some NaN values
x <- c(1, NaN, 12, NaN, 50, 30)
#replace NaN values with zero
x[is. nan (x)] <- 0
#view updated vector
x
[1] 1 0 12 0 50 30
Perhatikan bahwa kedua nilai NaN telah diganti dengan nol pada vektor.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:
Cara menginterpolasi nilai yang hilang di R
Cara mencari dan menghitung nilai yang hilang di R
Cara menggunakan “Bukan NA” di R