R에서 NA는 값이 없는 것(Missing value)을 의미한다. not available의 약자이다. 통계에서는 결측값이라고도 한다.
is.na()로 NA인지 확인할 수 있다.
NAN은 NA이지만, 반대의 값이 true가 아닌 것을 의미한다.
is.nan()은 NAN인지 확인할 수 있다.
> x <- c(1, 2, NA)
> x
[1] 1 2 NA
> is.na(x)
[1] FALSE FALSE TRUE
> is.nan(x)
[1] FALSE FALSE FALSE
>
na 값을 채울 수 있다.
> x <- c(1, 2, NA)
> x[is.na(x)] <- 10
> x
[1] 1 2 10
일부 함수는 na가 포함된 값에 대해서는 계산을 하지 못한다. na.rm=TRUE 값을 매개변수로 던지면 값을 얻을 수 있을 수도 있다.
> mean(x)
[1] NA
> mean(x, na.rm=TRUE)
[1] 1.5
> sum(x, na.rm=TRUE)
[1] 3
또한, na가 얼마나 있는지 sum() 함수로 개수를 확인할 수 있다.
> x <- c(1, 2, NA)
> sum(is.na(x))
[1] 1
> x <- c(1, 2, NA, NA, NA)
> sum(is.na(x))
[1] 3
na.omit() 함수로 na를 없앨 수 있다.
> x <- c(1, 2, NA)
> y<- na.omit(x)
> y
[1] 1 2
attr(,"na.action")
[1] 3
attr(,"class")
[1] "omit"
'R' 카테고리의 다른 글
[R] str(), dput(), args() : 함수 원형 보기 (0) | 2016.02.15 |
---|---|
[R] 객체 저장 (텍스트: dget/dput, dump/source) vs (바이너리 : save/load) (0) | 2016.02.15 |
[R] 묵시적 변환, 명시적 변환 예시 (0) | 2016.02.14 |
[R] 평균 구하는 함수 (0) | 2016.01.22 |
[R] Error in plot.new() : figure margins too large 해결하기 (0) | 2016.01.14 |