데이터에 대한 적합한 통계적 분석을 위해서는 데이터 특성을 알 필요가 있습니다.
몇 가지 요약통계량들을 통해서 데이터의 전반적인 특성을 파악할 수 있지만, 여러 가지 그래프들을 그려보는 것이 훨씬 유용한 경우가 많습니다.
SAS는 독자적인 단위 모듈로 여러 가지 형태의 고행상도 그래프들을 출력시켜 주고 있습니다. 막대 그래프, 파이그람과 같은 단순 그래프, 복잡한 형태의 통계적인 그래프 뿐만 아니라 다양한 분야에서 사용이 가능한 고해상도 그래프들을 생성하는데 사용되는 통계 그래픽스 시스템입니다.
SAS에서 제공하는 프로시저들은 기능에 따라 다음과 같이 크게 여섯 부분으로 나눠집니다.
[1] 기본적인 도표와 플롯: GCHART, GPLOT 프로시저
[2] 특수한 형식의 도표 : GAREABAR, GVARLNE, GKPI, GRADAR, GTILE
[3] 통계적 그래프 : SGPLOT, SGPANEL, SGSCATTER, SGRENDER
[4] 지도 그래프 : GMAP, GPROJECT, GREDUCE, GREMOVE
[5] 그래픽 장치 : GDEVICE, GFONTS, GOPTIONS, GTESTIT
[6] 그래프 출력 : GANNO, GPRINT, GREPLAY, GSLIDE
---------------------------------------------------------------------------------------------------------------
GCHART는 여러 가지 형태의 도표를 그리는 기능을 가지고 있으며, 제공하는 도표의 종류는 수직막대도표, 수평 막대도표, 블록도표, 파이도표, 별도표가 있습니다. 도표를 예시와 문법을 함께 설명하겠습니다.
수직막대도표는 주어진 중간점을 기준으로 해당 구간의 도수나 백분율을 수직막대로 표현한 도표입니다. 수직막대도표를 그리기 위해서는 VBAR 명령문을 사용합니다.
연령별로 선호하는 청량음료를 알아보기 위해 20대, 30대, 40대 각 40명씩을 조사하여 얻은 데이터로, 이 데이터를 이용하여 직접 수직막대도표를 그려보도록 하겠습니다.
data work.beverage;
input age $ drink $ count @@;
cards;
20 coke 10 20 pepsi 14 20 fanta 4 20 others 12
30 coke 13 30 pepsi 9 30 fanta 10 30 others 8
40 coke 12 40 pepsi 8 40 fanta 10 40 others 10
;
run;
goptions border;
title f=centb h=3 'beverage preference';
footnote f = swissb h=1.5 j=r 'Gchart 1: vertical bar chart';
pattern c = bibg value = x1;
proc gchart data=work.beverage;
vbar drink / freq = count type = percent ctext = red;
run;
footnote f=swissb h=1.5 j=r 'Gchart 2: vertical bar chart';
proc gchart data=work.beverage;
vbar age / freq=count type=percent group=drink ctext=red;
run;
2가지 그래프를 그려보았습니다.
왼쪽에 있는 그래프는 연령대와 상관 없는 탄산음료 선호도 그래프입니다.
오른쪽 그래프는 group 옵션을 사용하여 연령대를 구분한 탄산음료 선호도 그래프입니다.
이번에는 코드에서 중요한 옵션을 살펴보겠습니다.
goptions border;
GOPTIONS 명령문에 BORDER 옵션 지정 : 그래프의 출력에 테두리 두루는 것.
title f=centb h=3 'beverage preference';
pattern c = bibg value = x1;
그래프에 출력되는 제목, 각주에 대한 옵션입니다.
제목 : 글자체 - CENTB, 크기 - 3cells
각주 : 글자체 - SWISSB, 크기 - 1.5cells
오른쪽 정렬방식으로 한 것 입니다.
pattern c = bibg value = x1;
막대모양과 색깔을 각각 격자무늬와 파란색을 지정한 것.
vbar drink / freq = count type = percent ctext = red;
청량음료에 대한 수직막대도표를 그리기 위해 VBAR 명령문을 사용한 것.
수평막대도표는 수직막대도표를 수평으로 눕힌 도표이다. HBAR 명령문은 수평막대도표를 그리기 위해 사용되는 명령문으로 VBAR 문법과 유사하며 그대로 적용하면 된다.
앞에서 사용한 연령대별 청량음료 선호도 데이터를 사용하여 그래프를 그려보도록 하겠습니다.
Goptions border;
Title F = centb h=3 'Beverage Preference';
Footnote F=SWISSB h=1.5 J=r 'Gchart 3: Horizontal bar chart';
pattern c = bibg;
proc gchart data = work.beverage;
hbar drink / freq=count type=percent;
run;
위의 도표는 청량음료별로 각각 도수, 누적도수, 백분율, 누적백분율이 자동적으로 출력이 된 것을 볼 수 있습니다.
수평막대도표를 입체화시킨 형태로 3차원 기둥으로 표현한 도표입니다. 3차원 기둥으로 표현한 블록도표를 그리기 위해서는 BLOCK 명령문을 이용하면 되고, 사용방법은 VBAR 명령문의 경우와 비슷합니다.
Goptions border;
title f = centb h=3 'beverage preference';
footnote f = swissbb h=1.5 j=r 'Gchart 4: Horizontal Bar Chart';
pattern c = purple;
proc gchart data= work.beverage;
block drink / freq=count type=percent;
run;
파이도표는 전체를 원으로 생각하여 변수의 수준에 따라 조각으로 표현한 도표입니다.
Goptions border;
title f = cntb h=3 'beverage preference';
footnote F=swissbb h=1.5 j=r 'Gchart 5 : Pie Chart';
proc gchart data=work.beverage;
pie drink/ freq=count cfill=liv slice=arrow
percent=inside value=inside;
run;
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.