全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5222 7
2010-07-29
56   proc rank data=match2 out=match3 groups=10;
57       by year1;
58       var msmvttl;
59       ranks yeargroup;
60   run;
ERROR: Data set WORK.MATCH2 is not sorted in ascending sequence. The current by-group has year1 =
       2009 and the next by-group has year1 = 1997.
NOTE: The SAS System stopped processing this step because of errors.
NOTE: There were 146 observations read from the data set WORK.MATCH2.
谁能告诉我这种错误是什么意思啊?多谢
二维码

扫码加我 拉你入群

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

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

全部回复
2010-7-29 23:04:22
1. proc sort data=match2 out=match3;
    by year1;
    run;

2. proc rank data = match3 out=match4 groups=10;
    by year1;
    var msmvttl;
    ranks yeargroup;
    run;
二维码

扫码加我 拉你入群

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

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

2010-7-29 23:54:03
正如楼上所说的,分组前要先排序。
二维码

扫码加我 拉你入群

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

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

2010-7-30 13:13:34
当然了,我已经排过序了.我取的数据是199704----201004.算得是今年5月到下年5月的return.
data match2;
        set match1;
        if month<5 then year1=year-1;
        else year1=year+0;
        run;
主要是这个error: The current by-group has year1 =
       2009 and the next by-group has year1 = 1997.不知道怎么回事.
二维码

扫码加我 拉你入群

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

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

2010-7-30 13:47:11
另外我分组的时候想分为1到10组,结果出来后是,0到9组.这怎么回事啊
二维码

扫码加我 拉你入群

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

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

2010-7-30 20:28:40
suly 发表于 2010-7-30 13:13
当然了,我已经排过序了.我取的数据是199704----201004.算得是今年5月到下年5月的return.
data match2;
        set match1;
        if month
发点样本数据和你排序的程序上来。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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