SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 627|回复: 2
打印 上一主题 下一主题

一个头疼的问题 - 恳请各位施以援手

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2009-1-11 18:54:27 | 只看该作者

一个头疼的问题 - 恳请各位施以援手

一个头疼的问题  <!-- s:? --><img src="{SMILIES_PATH}/icon_confused.gif" alt=":?" title="Confused" /><!-- s:? -->

我有这样的数据集,有3个班级的学生,有一个变量叫VAR(比如,学生身高)。然后,我想计算出一个变量叫Score。 正如下面例子所表示的,身高排名第一的,score等于1,第二的,score等于2,以此类推。比如, Class 1的情况。这个不难。

头疼的是,不少VAR是一样的,比如Class 2中,第3个和第4个同学的身高都是170。 根据规则,要求这两个同学的Score = (3 + 4)/2 = 3.5.

同样的,Class 3中,第1个和第2个同学的身高都是179, 根据规则,这两个同学的score = (1 + 2)/2 = 1.5.   同理,Class 3中的第5、6、7 个同学的身高都是171, 则他们的score 都一样为 (5 + 6 + 7)/3 = 6.

我的问题是,如何写程序来计算出这样的Score。  尤其那些有相同身高的同学的Score, 如何计算。恳请各位施以援手,这里先说声多谢了。  

Class   Stu_ID     VAR      Score
1         1        180          1
1         2        174          2
1         3        173          3
1         4        166          4
1         5        155          5
2         1        177          1
2         2        175          2
2         3        170          3.5
2         4        170          3.5
3         1        179          1.5
3         2        179          1.5
3         3        175          3.5
3         4        175          3.5
3         5        171          6
3         6        171          6
3         7        171          6
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2009-1-12 08:44:48 | 只看该作者

Re: 一个头疼的问题 - 恳请各位施以援手

[code:3tgdv8yr]proc sort data=a;
        by class stu_id;
run;
proc rank data=a out=result ties=mean descending;
        var var;
        ranks score;
        by class;
run;[/code:3tgdv8yr]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2009-1-13 10:30:20 | 只看该作者

Re: 一个头疼的问题 - 恳请各位施以援手

多谢byes兄,你真是太牛了。我用了你的方法,结果正是我想要得,多谢多谢!!!  <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->

祝新春胜意,好人在新的一年里天天开心。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-5 07:07 , Processed in 0.074076 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表