[R] NA

R 2016. 2. 14. 23:56


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"





Posted by '김용환'
,