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

Tambahkan komentar

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