全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1162 9
2015-04-20
我的数据集a经过sort分类后成为如下情况:
XM      XX
A       王西初中
B       王西初中
C       王西初中
·······
········
M      王西初中
A01    后屯初中
A02    后屯初中
A03    后屯初中
········
········
L03   后屯初中
A001   中心初中
A002   中心初中
········
········
Z002    中心初中
········
········
········
我想生成一个变量BM,对XX相同的所有观测值都赋予相同的值,如排在最前面的XX为“王西初中”的所有观测都赋值为1,后面的XX为“后屯初中”的所有观测,赋值为2。再后面的中心初中的所有观测,都赋值为3。依次类推。
我原来的做法是:
proc sort data=a;
        by xx;
run;
DATA a;
        set a;
        by xx;
        retain idx;
        if first.xx then idx=1;
        else idx+1;
run;
data b;
      set a;
      where idx=1;
run;
data b;
      set b;
      by idx;
      retain BM;
      if first.idx then BM=1;
      else BM+1;
run;
proc sql;
      create table c as select * from a left join b on a.xx=b.xx;
quit;
这样做太麻烦了。感觉应该存在一个循环命令直接在数据集a内就能生成BM。所以,跪求高手指点迷津。跪求。跪求。谢谢。谢谢。



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-4-20 15:46:13
proc sort data=a;
        by xx;
run;
DATA a;
        set a;
        by xx;
        retain bm;
        if first.xx then bm+1;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-4-20 20:07:28
learsaas 发表于 2015-4-20 15:46
proc sort data=a;
        by xx;
run;
太感谢了。谢谢。谢谢。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-4-20 20:35:37
learsaas 发表于 2015-4-20 15:46
proc sort data=a;
        by xx;
run;
你好。你这个方法只能标记出每类XX的第一行,其余的行不能标记呀。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-4-20 20:49:20
learsaas 发表于 2015-4-20 15:46
proc sort data=a;
        by xx;
run;
抱歉,抱歉。是我操作错了。你的程序是对的。抱歉。抱歉。谢谢。谢谢。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-4-20 20:57:33
gavin4403 发表于 2015-4-20 20:35
你好。你这个方法只能标记出每类XX的第一行,其余的行不能标记呀。
他的方法可以啊,你执行试试了吗
给你发个稍微麻烦点的参考一下
data nmlist;
        set a;
        keep xx;
run;
proc sort data=nmlist nodup;
        by xx;
quit;
data nmlist;
        set nmlist;
        bm=_n_;
run;
proc sort data=a;
        by xx;
quit;
data a;
        merge a nmlist;
        by xx;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群