DATA example4_17;
INPUT group block den;
CARDS;
1 1 0.37
1 2 0.41
1 3 0.39
1 4 0.31
1 5 0.34
1 6 0.36
1 7 0.42
1 8 0.32
2 1 0.39
2 2 0.27
2 3 0.26
2 4 0.26
2 5 0.25
2 6 0.36
2 7 0.33
2 8 0.28
3 1 0.31
3 2 0.25
3 3 0.21
3 4 0.30
3 5 0.33
3 6 0.21
3 7 0.22
3 8 0.20
;
PROC SORT;           /*利用proc sort命令按block从小到大排序*/
BY block;
RUN;
PROC RANK;            /*调用proc rank命令对den编秩*/
VAR den;              /*var语句表明需要编秩的指标是den*/
RANKS rd;             /*ranks语句表明将grade编秩后的秩次命名为rd*/
BY block;             /*by语句表明按block分别编秩，即每个block分别编秩*/
RUN;
PROC MEANS mean maxdec=2;           /*调用proc means命令输出平均秩次*/
CLASS group;     /*group语句表明按group分别计算，即每组分别计算平均秩次*/
VAR rd;          /*var语句表明是对rd即秩次求平均值，即平均秩次*/
RUN;
