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

[빅데이터분석기사_실기] 2. 결측치 대체

by OBIG 2021. 11. 11.

안녕하세요, 여러분. 지난 시간 다뤄본 결측치 확인과 삭제 방법은 잘 보고 오셨죠?

이번에는 결측치를 대치하는 방법에 대해서 학습하겠습니다.

다음 시간 기출문제를 풀어보기 위해서 반드시 알아두셔야 합니다.

만약 R 기초를 아예 모르시는 분들은 블로그에 온라인 강의가 있으니 듣고 오시면 좋을 것 같습니다. :-) 

 


 

1) 결측값 처리 방법 - 평균 대치법(Mean Imputation)

 

평균 대치법이란 결측값을 데이터의 평균, 중위수 등으로 대체하는 방법입니다.

대체하는 방법 중 가장 많이 쓰이는 방법입니다. 

 

두 가지 방식으로 대치하겠습니다. 사용된 데이터는 R 내장 데이터인 airquality입니다.  

 

Ozone 변수와 Solar.R 변수에 각각 결측치가 있는 것을 확인할 수 있습니다.

 

ifelse 조건문을 활용하여 Solar.R 데이터의 결측값을 평균값으로 대체하겠습니다.

 

먼저, 평균값을 확인하기 위해서 Solar.R 변수의 평균을 구했습니다. 185.9315값이 나왔습니다. 

*na.rm=TRUE 옵션을 설정해야 결측치를 제외하고 연산을 할 수 있습니다. 

 

head 함수로 상위 6행을 반환하니 5, 6 행의 값은 결측치인 것을 확인할 수 있습니다. 

*ifelse(조건식, 참값, 거짓값) 조건식이 참이면 참값, 거짓이면 거짓값을 활용하여 위와 같이 코드를 작성합니다. 

프로그래밍의 조건문에 익숙하지 않은 분들을 위해 다음과 같이 해석하겠습니다. 

 

***ifelse

조건 : is.na(airquality$Solar.R) - airquality 데이터의 Solar.R 변수 값 중 결측치가 있다면, 

참값 : mean(airquality$Solar.R, na.rm=T) - airquality 데이터의 Solar.R 변수의 결측치를 제외한 평균값을 채워넣고 

거짓값: airquality$Solar.R - 없다면 그대로 값을 채워넣습니다. 

 

익숙하지 않은 분들은 하나하나 차근차근 문법을 해석해서 꼭 코드로 직접 작성해보세요. 

 

다시 head()함수를 통해서 반환된 값을 보면 평균값으로 잘 대체된 것을 확인할 수 있습니다. 

 

 


 

결측치의 확인, 삭제, 대체의 기본을 모두 배워봤습니다.

데이터가 복잡해지면 데이터 확인과 전처리 과정에서 복잡해지는 것은 당연하겠지만 기본 문법과 원리를 이해하셨다면 결측치에 관한 문제는 해결할 수 있습니다. 

다음 시간에는 배운 것을 토대로 기출문제를 함께 풀어보고 대비해보겠습니다. :-) 

 

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