5.16 특수 상수

5.16.1 결측치 : NULL, NA

데이터 처리 시 결측치(missing value)는 NULL 또는 NA로 처리합니다.

  • NULL : 보통 변수의 초기화에 사용됩니다.
  • NA : 보통 무응답의 경우에 사용됩니다.
# NULL, NA(not available)
x <- NULL                     # x를 초기화합니다.
is.null(x)                    # x가 NULL인지 테스트합니다. TRUE를 반환합니다.
## [1] TRUE
# 결측치 값의 입력
y <- c(1, 2, 3, NA, 5); y     # y의 네번째 요소가 NA 즉, 결측치입니다.
## [1]  1  2  3 NA  5
y <- NULL                     # y를 초기화 합니다.

# is.na() 함수의 이용
y <- c(1, 2, 3, NA, 5)        
z <- is.na(y); z              # z는 y의 요소 각각에 대한 is.na()의 반환값으로 구성됩니다. (논리형 벡터)
## [1] FALSE FALSE FALSE  TRUE FALSE
which(z)                      ## y벡터 중 NA값을 갖는 요소의 번호를 반환합니다.
## [1] 4
y[!z]                         ## y의 요소 중 NA가 아닌 요소만을 반환합니다.
## [1] 1 2 3 5
y[-which(z)]                  ## y의 요소 중 NA가 아닌 요소만을 반환합니다.
## [1] 1 2 3 5

5.16.2 Inf, -Inf, NaN

# Inf, -Inf, is.infinite() 함수
z1 <- 10/0; z1              # Inf : infinite : '무한대'를 의미합니다.
## [1] Inf
is.infinite(z1)             # Inf 인지 테스트합니다.
## [1] TRUE
z2 <- -10/0; z2             # -Inf
## [1] -Inf
is.infinite(z2)
## [1] TRUE
# NaN, is.nan() 함수
w <- 0/0; w                 # NaN : not a number 를 의미합니다. (수학적으로는 부정)
## [1] NaN
is.nan(w)                   # NaN 인지 테스트합니다.
## [1] TRUE