본문 바로가기
Data·AI/문제풀이

※ mpg데이터를 이용해 분석 문제를 해결해 보기

by hyun-am 2019. 4. 9.

1. 먼저 데이터를 불러와 일부러 이상치를 만듭니다. 

 

이런식으로 drv(작동방식)에 이상값인 "k"를 넣고 cty(도시연비)에도 이상치를 집어 넣었습니다. 

 

 

 

2. 먼저 이상치를 발견하기위해 table을 이용하여 데이터를 분석하였습니다. 

결과 값은 아래와 같습니다. 

drv는 한눈에봐도 무엇이 이상치인지 파악이 쉽지만 cty는 어느 값이 이상치인지 확인하기가 어렵습니다. 

 

따라서 cty는 boxplot을 이용하여 이상치를 파악했습니다. 

 

3. boxplot을 이용하여 cty의 이상치 파악하기

boxplot을 이용하여 시각화 하고 $stats를 이용하여 인덱스 값을 파악합니다. 

 

경계값은 이런 값이 나옵니다. 

따라서 9보다 작거나 26보다 크면 극단치를 넘어서서 이상치라고 생각할 수도 있습니다. 

 

Q1 문제를 해결하려면 이런 명령어를 통해 해결할 수 있습니다. 

 

결과값은 아래와 같습니다. 

 

이상치인 k값이 사라진걸 확인하실 수 있습니다.

 

Q2 다음은 위에서 boxplot을 통해 이상치를 NA로 할당하는 명령어를 사용합시다. 

ifelse문을 사용해서 범위를 벗어나는 값은 NA로 정의 하고 나머지는 mpg2의 cty값 그대로 가져가게 만듭니다. 

 

실행한후 boxplot명령어를 사용한 값은 다음과 같습니다. 

 

위에 나온 boxplot과는다르게 범위를 벗어나는 값이 사라진 것을 볼 수 있습니다. 

 

Q3. 이제 데이터 클린징을 끝냈으니 데이터 분석을 시작해 보겠습니다.

 

filter 값을 이용하여 결측치를 제거하고 group_by( )함수를 이용하여 drv별로 묶고 summarise를 이용하여 cty의 평균을 구해서 값을 출력했습니다. 값은 아래와 같습니다. 

 

 

이런식으로 다른 결측치나 이상치가 있는 값들을 클린징한 후 데이터 분석을 해야 하는 구나 라는 기술을 배웠습니다. 

댓글