본문 바로가기
R

R - 이상치/결측치 확인 및 처리 방법

by IT두잇 2022. 3. 17.

결측치는 NA, not available, 빈칸 등 값이 나타나지 않는 값을 말합니다.

 

결측치 값 확인하기

  • 결측치 유무 확인
is.na(df)

결과값: TRUE 혹은 FALSE

 

  • 결측치 개수 확인
sum(is.na(df))
#혹은
sum(is.na(df$score))

결과값: 결측치 총 개수 (ex. 2)

 

  • 결측치 & 결측치 아닌 개수 확인
table(is.na(df))

결과값: 각각 FALSE와 TRUE 값 반환

 


결측치 값 처리 방법

  • NA 데이터 삭제 (※ 해당 방식은 분석에 필요한 데이터까지 삭제할 수 있어서 잘 사용하지 않습니다)
na.omit(df)

 

  • 필터링 (NA 제외하고 계산)
df %>% filter (!is.na(df)) %>% summarise(sum(score))
# !is.na(df) = 결측치가 아닌 값들 중에서 실행

 

  • NA 없는 데이터 따로 저장
df1 <- df %>% filter(!is.na(df))

 

  • NA 값 무시하고 진행
mean(df, na.rm=T) #Remove NA = True

 

 


특정 값 이상치로 변경

  • 4행 1열 값 이상치로 설정
df[4,1] <- NA

 

  • 5 초과인 값 이상치로 설정

ifelse( 조건, 조건이 참일 경우 실행, 조건이 거짓일 경우 실행)

ifelse(df$score > 5, NA, outlier$score)