新人第一次发帖,先谢谢大家点击进来~对于数据集x,如果我的最终目的是想在proc print输出时,将变量b作为分类变量,且按照b的降序排列,分组输出a的值。我在多次尝试后,发现以下程序是可行的:
但我有一些小问题想请教各位大牛:
1 如果不考虑我descending 的需求,直接进行proc print data=x; by b;run;的话,为什么会丢失第六行数据,即a=6 b=1,无法归集到第1 2行所在的b=1组呢?
2 我注意到proc print步中,by 指令后面也是可以跟descending的,但是只能输出b=1这一组,然后就结束了。这个是为什么呢?
3 先进行proc sort,再proc print的话,确实不会再出现问题1中丢失数据的问题了,但是如果不加notsorted的话,就只能输出b=5这一组,这是为什么呢?我的理解中在x2数据集中,大家已经按序排列好了呀,难道不是一个简单的输出就可以了吗?
问题有点琐碎,也很基础。还望各位大牛指教。谢谢!