BookmarkSubscribeRSS Feed

[SAS 프로그래밍] Butterfly Plot 실습

Started ‎06-18-2020 by
Modified ‎06-18-2020 by
Views 455

Butterfly Plot

 

1. Introduction

안녕하세요이번 시간에는 시각화 기법에 대해 실습해보겠습니다지난 시간에 배웠던 Funnel Plot처럼특정 데이터에 대해 더 좋은 시각화 기능을 보여주는 여러 함수들이 있습니다오늘은 Butterfly Plot에 대해 배워보겠습니다.

 

2. Data

Butterfly Plot은 두 집단의 분포를 비교할 때 흔하게 사용되는 시각화 기법입니다대표적인 대조군인 성별을 비교해 보겠습니다데이터는 SAS 내장 데이터인 Sashelp.Heart를 사용하겠습니다.

 

3. 모델링

 

3.1 EDA

<code1>

proc univariate data=Sashelp.Heart;

   class Sex;

   var Cholesterol;

   histogram cholesterol / nrows=2 outhist=OutHist

                          /* 분포 범위 (80 부터 560, 간격 40 ) */

                           odstitle="Cholesterol by Gender";

   ods select histogram;

run;

 

 

다운로드 - 2020-06-18T155220.639.png

 

콜레스테롤에 대한 성별 그룹 별 분포입니다. 기본적인 시각화 기법으로 분포를 확인했습니다.

 

3.2 Convert

기존의 OutHist 형식은 “Long Form”입니다. Butterfly Plot으로 변형하기 위해 데이터를 “ Wide Form” 형태로 바꿔줍니다.

<code2>

/* Long Form Wide Form으로 변형하기 */

data Butterfly;

   keep Cholesterol Males Females;

   label Males= Females= Cholesterol=; /* 라벨 제거*/

   merge OutHist(where=(sex="Female") rename=(_COUNT_=Females _MIDPT_=Cholesterol))

         OutHist(where=(sex="Male")   rename=(_COUNT_=Males   _MIDPT_=Cholesterol));

   by Cholesterol;

   Males = -Males;     /* Count 표현을 위해 -Count 트릭으로 지정하기*/

run;

  • 실행 결과:

 

다운로드 - 2020-06-18T155223.439.png

 

Males 데이터가 음수로 표현된 것을 볼 수 있습니다이를 통해 한 X축에 두 성별을 동시에 표현할 수 있습니다.

 

<code3>

/* 이후절대값을 표현할 Format 지정합니다.

Format 지정이 없으면 음수가 그대로 출력됩니다. */

proc format;

   picture positive low-<0="000,000"

   0<-high="000,000";

run;

<code4>

proc sgplot data=Butterfly;

   format Males Females postive.;

   hbar Cholesterol / response=Males   legendlabel="Males";

   hbar Cholesterol / response=Females legendlabel="Females";

   xaxis label="Count" grid

         min=-520 max=520 values=(-500 to 500 by 100valueshint;

   yaxis label="Cholesterol" discreteorder=data;

run;

데이터 출력을 위한 서식을 지정합니다.

 

다운로드 - 2020-06-18T155225.231.png

 

 

Cholesterol 수치를 그룹별로 확인이 쉬운 Butterfly Plot을 생성하였습니다.

 

4. Conclusion

비교적 간단한 시각화 기법이지만의학과 같은 대조군 실험에서 유용하게 사용될 수 있습니다고급 분석 기법은 아니지만 다양한 스킬들을 숙지하여 가독성이 좋은 리포트를 만드는 것도 분석가의 역량이 아닐까 생각합니다.

 

 

 

 

 

Version history
Last update:
‎06-18-2020 03:38 AM
Updated by:
Contributors

sas-innovate-white.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.

 

Early bird rate extended! Save $200 when you sign up by March 31.

Register now!

Article Labels
Article Tags