R/R 프로젝트

[ 이토록 쉬운 통계&R 100일 프로젝트 ] 53일차

Chipmunks 2018. 7. 8.
728x90

공부 페이지

294 페이지 ~ 297 페이지


배운 개념

부등호 논리연산으로 정보 찾기

희망 연봉이 4,000만원이라면, 이 회사에 있는 10,000명 중 상위 몇 %나 될지 궁금할 때는, 부등호를 사용해 논리연산을 하면 된다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
> Sys.setlocale('LC_ALL' , 'ko_KR.UTF-8')
[1"ko_KR.UTF-8/ko_KR.UTF-8/ko_KR.UTF-8/C/ko_KR.UTF-8/C"
 
> setwd("~/Documents/Workspace/R/Practice/data")
 
> data = read.csv('salary_data.csv')
 
> salary = data$salary
 
> salary > 4000
   [1] FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE
(이하 생략)
 
> sum(salary > 4000)
[12700
 
> mean(salary > 4000)
[10.27
cs


부등호 논리연산으로 판단한 것을 sum() 함수로 모두 더하면 조건과 일치하는 관측치의 수를 계산할 수 있다.

그런 다음 평균울 계산하는 mean() 함수를 활용하면 전체 중 조건에 일치하는 관측치의 비율을 계산할 수 있다.


즉, 연봉 4,000만원은 상위 27% 정도 된다. 다만, 이 데이터는 중도 퇴사거나 중도 입사자 등의 연말정산 정보도 포함되어 있어 과하게 작은 값들이 있다는 것을 주의해야 한다. 실제 연봉의 중앙값 혹은 평균값 등은 계산된 것보다 더 높을 수 있다.


상자그림

데이터는 숫자로 요약한다. 더 효과적으로 표현하려면 그래프를 활용해야 한다. 지금까지 얻은 다섯 숫자를 상자그림으로 표현해보자.

1
> boxplot(salary, range=100)
cs

전체 데이터를 25%씩 나눈 4개의 구간에 각각 2,500명이 들어갔다. 아래쪽에 있는 구간 3개는 아주 좁은 반면 제일 위에 있는 구간 1개는 아주 넓다. 즉, 상위 25%의 연봉은 큰 차이로 높고, 하위 75%의 연봉은 서로 비슷한 수준이라는 뜻이다.


이번에는 range=100 옵션을 지운 결과다.


1
> boxplot(salary)
cs


이전 상자 그림에서는 가장 높은 가로선은 최댓값과 똑같은 8억 너머에 있었다. 이제는 계속 내려와 1억 언저리에 있다. 마지막 가로선보다 높은 관측치는 점으로 표시된다. 이 값들을 이상치(Outlier) 라고 부른다.


조금 일반적인 연봉 금액대를 살펴보기 위해 연봉 1억 미만의 관측치만 선택해서 다시 상자그림을 그려보자


1
2
3
> salary_10000 = salary[salary < 10000]
 
> boxplot(salary_10000)
cs


앞의 상자 그림보다는 훨씬 보기가 좋아졌다.


다음 시간에 배울 것

히스토그램으로 표현하기



댓글