SAS PROC REPORT : group v.s. order 实战分析

对应 SAS 123题 Q 91 原题如下:


image.png

A.B. 很快可以排除,重点看一下 group 与order 选项的差别

实战开始,

  • 调用sashelp.cars 数据集,使用Make(制造商)与MSRP(价格)两列数据作为观察对象。比如我们希望求得每一个Maker 下的 average price(和sum of price 本质相同)


    cars

Order

  • program
DATA mycars;
set sashelp.Cars;
run;

Proc report data=mycars;
column Make MSRP;
define Make/ order;
define MSRP/ mean;
run;
  • result(part)


    order.png

group

  • 修改 Maker 的定义 Make/group
DATA mycars;
set sashelp.Cars;
run;

Proc report data=mycars;
column Make MSRP;
define Make/ group;
define MSRP/ mean;
run;
  • result(part)


    group

小结

  • 本质上从字面上理解, group 为(group variable)分组变量,其实就是将后续的数据处理过程以被group的字段的每个value 为单位执行,而 order 为有序变量(order variable),本质上并未将其分组,而是将字段下的每个值(相同值依然算是不同的对象)都当作一个对象处理。所以会看到输出结果中的不同。
  • 因此不难理解,此题中的输出为order 的结果,选D 。

更多参考见 sas 官方文档
https://documentation.sas.com/?docsetId=proc&docsetVersion=9.4&docsetTarget=p0wy1vqwvz43uhn1g77eb5xlvzqh.htm&locale=en#p1rh67f13uj7oxn1fi4km228orkb

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容