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
결과에서 벡터의 위치 2 와 4 에 있는 요소가 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가 아님”을 사용하는 방법