### missing은 NA로 입력합니다.
> x=c(10,12,NA,19,20,30)
> x
[1] 10 12 NA 19 20 30
# missing이 있을때 연산 함수를 사용하면 NA를 출력합니다.
> mean(x)
[1] NA
# na.rm=T 를 사용하면 missing을 제거하고 나머지로 연산을 합니다.
> mean(x,na.rm=T)
[1] 18.2
## apply()함수들의 경우는
> x2=matrix(x,ncol=2)
> x2
[,1] [,2]
[1,] 10 19
[2,] 12 20
[3,] NA 30
# 첫번째 열에 NA가 있어서 열의 합의 첫번째가 NA이죠.
> apply(x2,2,mean)
[1] NA 23
# 이런식으로 뒤에 na.rm=T를 추가하는데, 이 option은 apply()의 option이 아니고, 바로 앞에 mean의 option을 이런식으로 추가합니다.
> apply(x2,2,mean,na.rm=T)
[1] 11 23
### is.na() - missing이면 그 자리에 TRUE를 출렵합니다.
> is.na(x)
[1] FALSE FALSE TRUE FALSE FALSE FALSE
# 이렇게 하면 missing이 x에서 제거됩니다. "!"은 "not"입니다. !is.na()는 non-missing을 의미하죠.
> x[!is.na(x)]
[1] 10 12 19 20 30
# 다음을 보면 좀 명확해집니다.
> !is.na(x)
[1] TRUE TRUE FALSE TRUE TRUE TRUE
# 즉 "x[!is.na(x)]"는 논리적으로 아래 둘하고 같죠.
> x[!c(F,F,T,F,F,F)]
[1] 10 12 19 20 30
> x[c(T,T,F,T,T,T)]
[1] 10 12 19 20 30
첫댓글 missing data가 귀찮지만 피하기 어려운 것 중 하나이지요. 잘 보고 갑니다.^^