Starting off as a muggle that naïve to the Math's and Data Science world.

Stacked Box Plot

/* Standardized value */
PROC STDIZE DATA=SASHELP.CARS METHOD=RANGE NOMISS OUT=WORK.CONTI_DS sprefix=std_;
  VAR EngineSize Horsepower Length;
RUN;

/* Format categorical vs continuous */
DATA WORK.CONTI_DS;
  SET WORK.CONTI_DS ;
  LENGTH cate_name $20 cont_name $20;
  cate_name='DriveTrain'; cont_name='EngineSize'; category=DriveTrain; value=std_EngineSize; OUTPUT;
  cate_name='Origin';     cont_name='EngineSize'; category=Origin;     value=std_EngineSize; OUTPUT;
  cate_name='Type';       cont_name='EngineSize'; category=Type;       value=std_EngineSize; OUTPUT;
  
  cate_name='DriveTrain'; cont_name='Horsepower'; category=DriveTrain; value=std_Horsepower; OUTPUT;
  cate_name='Origin';     cont_name='Horsepower'; category=Origin;     value=std_Horsepower; OUTPUT;
  cate_name='Type';       cont_name='Horsepower'; category=Type;       value=std_Horsepower; OUTPUT;
  
  cate_name='DriveTrain'; cont_name='Length';     category=DriveTrain; value=std_Length;     OUTPUT;
  cate_name='Origin';     cont_name='Length';     category=Origin;     value=std_Length;     OUTPUT;
  cate_name='Type';       cont_name='Length';     category=Type;       value=std_Length;     OUTPUT;
RUN;

/* Generate Stacked Boxplot Diagram */
ODS GRAPHICS ON / RESET = ALL HEIGHT = 7in WIDTH = 14in;
PROC SGPANEL DATA = WORK.CONTI_DS NOAUTOLEGEND;
  PANELBY cate_name cont_name / LAYOUT=LATTICE ONEPANEL UNISCALE=ROW;
  VBOX value / CATEGORY=category GROUP=cate_name;
  ROWAXIS DISPLAY=(nolabel);
  COLAXIS DISPLAY=(nolabel);
RUN;

Leave a comment