首页 > 解决方案 > 使用 PROC REPORT 的 SAS 数据表

问题描述

我是使用 SAS 的初学者,我的任务是创建一个如下所示的表:

                      Group A                           Group B          All
               A   B   C   D   E   F            G  H  I  J  K  L  M 
Age 
   n           
   mean(sd)
   median
   min-max 
Gender
   n 
   fl
   ml
Race
   n 
   white 
   asian
   hispanic 
   black 

表中的空白只是基于标准的计算。我考虑做的是以下,但它看起来不正确并且有错误。无论如何要解决这个问题或使用 proc freq/proc tabulate 如果它更容易:

Libname test '/home/user/username'; 
DATA test; 
SET test.test(keep = GROUP LETTER AGE GENDER RACE); 
RUN; 
PROC SORT DATA = test; 
    BY GROUP LETTER AGE GENDER RACE; 
PROC MEANS DATA = test; 
    CLASS GROUP LETTER;  
    VAR AGE GENDER RACE; 
RUN; 
PROC PRINT DATA = test; 
    TITLE 'Demographics';
RUN;
PROC PRINT DATA=test;
RUN;  
PROC TRANSPOSE DATA = test.test;
            OUT = test.test;
            BY GROUP LETTER;
            VAR GROUP LETTER;
RUN; 
PROC REPORT DATA = asl.asl;
    COLUMN GROUP LETTER AGE GENDER RACE; 
    DEFINE GROUP /DISPLAY 'Group'; 
    DEFINE LETTER /DISPLAY 'Letter';
    DEFINE AGE /DISPLAY 'Age'; 
    DEFINE GENDER /DISPLAY 'Gender';
    DEFINE RACE /DISPLAY 'Race';
RUN; 

标签: stored-proceduressastabular

解决方案


推荐阅读