본문 바로가기
빅데이터 학습자료/03. 데이터분석_R

[빅데이터분석기사_실기] 1. 결측치 처리

by OBIG 2021. 11. 10.

데이터 전처리에서 결측치를 확인하고 처리하는 과정은 기본 중 기본입니다.

빅데이터분석기사 실기 시험에 실제 결측치 처리(단순 대치법)문제가 나왔습니다. 공부해봅시다 ! ! :-) 

 

1) 결측치란? 

-결측치는 관측되지 않은 값으로서 NA(Not Available)로 표시됩니다. 

-데이터에 결측치가 포함되어 있으면 산술연산과 같은 데이터 분석을 제대로 할 수 없습니다. 

 

2) 결측치 데이터 처리 순서 (***)

-결측치 확인

-결측치 처리 방법 결정 (삭제 or 대치) 

-결측치 삭제 

-결측치 대체  

 


결측치 처리 순서 잘 보셨나요? 이 순서대로 R로 학습하도록 하겠습니다. 

-필요한 데이터 세트 : airquality(내장 데이터) , 생성 데이터

-필요한 패키지 : dplyr 

 

1. 결측치 확인 

is.na(x) 데이터의 행과 변수별로 결측값이 있을 경우 TRUE, 아니면 FALSE
complete.cases(x) 데이터의 행별로 결측값이 없으면 TRUE, 있으면 FALSE

is.() 함수의 활용은 Be동사 가장 기본적인 의미인 '~이다'를 생각하면 간단합니다. 

 

is.na() 함수는 말 그대로 결측값이 맞냐? 아니냐?를 판단합니다. 결측값이 맞으면 TRUE, 아니면 FALSE겠죠? 

 

complete.cases() 함수는 완전한 행이냐? 아니냐?를 판단합니다. 완전한 행이면(결측치가 없으면) TRUE, 완전하지 않은 행이면(결측치가 있으면) FALSE입니다. 헷갈리지 마세요! :-) 

 

[R코드] 

 

2. 결측치 데이터 개수 확인 

 

데이터 세트에 결측치가 있는 것을 확인했습니다. 간단한 함수들을 통해서 전체 결측치의 개수를 파악해봅시다. 

 

sum을 이용하여 각각 결측치의 개수를 구할 수 있습니다. 

 

colSums 함수는 변수 별 원하는 관측치를 집계합니다. 

 

3. 결측값 처리 방법 - 삭제 

 

결측값 처리 방법 중 삭제를 선택한다면 결측치를 다수 포함하고 있는 변수를 삭제할 것인지, 결측치를 포함하고 있는 모든 행을 삭제할 것인지 선택할 수 있습니다. 

결측치를 삭제하겠다!  *** 결측치를 포함하고 있는 열(변수) 삭제 

* $기호는 데이터 세트의 특정 변수를 지정하는 기호입니다. 
* NULL값을 입력함으로써 변수를 삭제합니다. 
*** 결측치를 포함하고 있는 행 삭제
(완전 분석법이라고도 부릅니다, 결측치가 있는 행을 모두 삭제하여 완전한 데이터만 분석하는 기법)

* 결측치 데이터를 직접 생성 후 결측치를 포함하는 행을 삭제하겠습니다. 



complete.cases() 함수를 사용해보니 2개의 행이 결측치를 포함하고 있는 것을 알 수 있습니다. 
na.omit () 함수를 사용하여 결측치 행을 모두 삭제하고 확인해보겠습니다. 


결측치 의미와 결측치 확인 함수, 결측치 삭제 방법의 두 가지 종류에 대해서 학습했습니다. 

하지만 결측치를 무조건 삭제한다고 좋은 것만은 아니므로 다음 시간에는 결측치를 다른 값으로 대치하는 방법에 대해서 학습하겠습니다.

빅데이터분석기사 실기 문제인 결측값 대체 전후의 통계량의 차이를 다루는 문제도 함께 풀어보겠습니다. 

 

문의사항 및 강의 문의는 댓글 또는 bigdataleader@naver.com 으로 주세요.