본문 바로가기
R프로그래밍

R프로그래밍 - NA, Inf, -Inf 데이터 찾는법

by 미스터탁 2020. 7. 2.

데이터를 가공하다 보면 NA값이나 Inf 값등이 나올 때가 있습니다.

 

이 값들을 그대로 가져가는 경우도 있지만, 무조건 제거 또는 다른값으로 대체 해주어야 하는 경우가 있습니다.

 

우선 0을 1로 나누면 0 값이 출력이 됩니다. 그런데 0을 0으로 나누면 NA값이 나옵니다.

 

NA값인지 판단하기 위해선 is.na 함수를 이용하여야 합니다.

 

 

 

0/1
0/0
is.na(0/0)
x2<-c(NA,NA,3)
is.na(x2)

 

is.na를 쓰면 아래와 같이 TRUE FALSE값을 반환해줍니다.

 

 

 

NA를 빼고 출력하거나 NA에 0을 삽입하고 싶은 경우에는 다음 코드를 이용해서 할 수 있습니다.

 

x2[!is.na(x2)] ## NA 빼고 출력
x2[is.na(x2)] <- 0 ## NA에 0 삽입
x2

 

 

 

1을 0으로 나누면 Infinite(무한대) 값이 나오게 되고 -1을 0으로 나누면 -Infinite 값이 나오게 됩니다. 

 

데이터를 가지고 새로운 변수 (파생 변수)를 만들다 보면 값에 따라 이렇게 NA, Inf값이 나올수 있습니다.

 

Infinite값인지 검증하기 위해서는 is.infinite 라는 함수를 이용합니다.

 

is.infinite함수는 Inf와 -Inf 한꺼번에 검증이 가능합니다.

1/0
-1/0
x2<-c(Inf,Inf,-Inf,-Inf,2,3,4)
is.infinite(x2)
x2[!is.infinite(x2)]

반응형

댓글