R에서 nan 값을 처리하는 방법(예제 포함)


R에서 NaN은 숫자가 아님을 나타냅니다.

일반적으로 NaN 값은 잘못된 결과를 초래하는 계산을 수행하려고 할 때 발생합니다.

예를 들어, 0으로 나누거나 음수의 로그를 계산하면 NaN 값이 생성됩니다.

 #attempt to divide by zero
0 / 0

[1]NaN

#attempt to calculate log of negative value
log(-12)

[1]NaN

NaN 값은 단순히 결측값을 나타내는 NA 값과 다르다는 점에 유의하세요.

R에서 NaN 값을 처리하려면 다음 방법을 사용할 수 있습니다.

 #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 

다음 예에서는 이러한 각 방법을 실제로 사용하는 방법을 보여줍니다.

예 1: NaN 값을 사용하여 벡터의 위치 식별

다음 코드는 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

결과에서 벡터의 위치 24 에 있는 요소가 NaN 값임을 알 수 있습니다.

예시 2: 벡터의 총 NaN 값 계산

다음 코드는 R의 벡터에 있는 NaN 값의 총 개수를 계산하는 방법을 보여줍니다.

 #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

결과에서 벡터에 총 2개의 NaN 값이 있음을 알 수 있습니다.

예시 3: 벡터에서 NaN 값 제거

다음 코드는 원본 벡터에서 NaN 값을 제거하여 새 벡터를 만드는 방법을 보여줍니다.

 #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

두 개의 NaN 값이 벡터에서 제거되었습니다.

예시 4: 벡터의 NaN 값 바꾸기

다음 코드는 벡터의 NaN 값을 0으로 바꾸는 방법을 보여줍니다.

 #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

두 NaN 값 모두 벡터에서 0으로 대체되었습니다.

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

R에서 누락된 값을 보간하는 방법
R에서 누락된 값을 찾고 계산하는 방법
R에서 “NA가 아님”을 사용하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다