로그인   |  회원가입  |  사이트맵  |  Contact Us
  아이디 저장하기
 
홈 > SAS Tech & Tip > SAS Programming 활용하기
[SAS 프로그래밍] 기초 그래프 (3); 히스토그램 2017.08.10
MYSAS 시샵 34 0
http://www.mysas.co.kr/sas_tiptech/a_question.asp?b_no=7396&cmd=content&bd_no=5

[SAS 프로그래밍] 기초 그래프 (3); 히스토그램

 

안녕하세요^^

지난시간에 이어, SAS를 이용하여 여러 가지 통계에 사용되는 그래프를 그려보겠습니다.

 

1. 상자그림(box plots)

2. 막대그래프(bar charts)

3. 히스토그램(histogram)

4. 산점도(scatter plots) / 매트릭스(scatter matrices)

 

 

이번 시간에는 세 번째 시간으로 히스토그램을 그리는 방법에 대해 알아보겠습니다.

막대그래프와 히스토그램의 차이점은 범주형 변수를 그리는지, 연속형 변수를 그리는지에 따라 구분할 수 있습니다.


 

 

히스토그램은 proc sgplot 프로시저를 이용하여 그릴 수 있습니다.


상자그림에서 vbox 문장을 사용하고, 막대그래프는 vbar 문장을 사용했다면,

히스토그램은 histogram 문장을 사용합니다. 

 

Histogram 문장에 변수 salary를 지정하여, salary의 히스토그램을 그릴 수 있습니다.

 

 

 

 

가장 기본적인 히스토그램에 밀도함수를 같이 그리는 코드에 대해 알아보겠습니다.

마찬가지로, proc sgplot 프로시저에 histogram 문장으로 히스토그램을 그립니다.

 

Density salary 문장으로 salary의 정규 밀도함수(파란색)를 그립니다.

Density salary / type=kernel 문장과 옵션으로 커널 밀도함수(빨간색)를 그립니다.

 

Keylegend 문장으로 범례를 추가할 수 있으며,

location옵션과 position옵션으로 범례의 위치를 지정할 수 있습니다.

이 경우 location=inside로 그림 안쪽에 범례를 추가하며, position=topright로 오른쪽 상단에 범례가 작성됩니다.

 

 

 

여러 범주에 따른 panel을 그리기 위해 proc sgpanel 프로시저를 사용합니다.

Jobcat(직업범주)2가 아닌 경우를 그리므로, 13의 두 값을 갖는 경우를 그립니다.


 Panelby 문장에 genderjobcat 변수를 지정하므로 2x2 panel을 그리게 됩니다.

Histogramsalary를 그리며, y축의 scaleproportion으로 지정합니다.

 

Scaleproportion, count, percent로 지정할 수도 있으며, defaultpercent입니다.

아래의 그래프는 각각 scalecountpercent로 지정한 결과입니다.

 

 

 

 

 

 

 

이번에는 두 변수의 histogram을 한 그래프에 그리는 코드를 살펴보겠습니다.

histogram문장을 두 개를 사용하여 salbegin 변수와 salary 변수를 그릴 수 있습니다.


옵션인 Transparency를 조정하여 두 그룹의 막대의 불투명도를 조정할 수 있습니다.

이 경우 transparency=0.5로 지정하여 두 히스토그램이 모두 보이도록 할 수 있습니다.

 아래의 그래프는 transparency 10으로 지정한 결과입니다.

 

 

 

 

 

이상으로 통계에 사용되는 기초 그래프인 히스토그램을 그리는 방법에 대해 알아보았습니다.

다음 시간에는, 기초 그래프인 산점도와 산점도 매트릭스를 그리는 방법에 대해 알아보겠습니다.

 

감사합니다^^

 
 
 
 
 [SAS 프로그래밍] 기초 그래프 (4); 산점도/매트릭스
 [SAS 프로그래밍] 기초 그래프 (2); 막대그래프