全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学
14731 25
2010-07-21
按照某个variable排序,可以用proc sort,那如果是想按照某个observation 排序,应该用什么命令?或怎样编程?

期待大侠指教,谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-7-21 10:12:37
何为按照observation排序?
二维码

扫码加我 拉你入群

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

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

2010-7-21 10:21:50
不好意思,可能我没表达清楚

举个例子:
date    return1   return2   return3    return4
0101     12.3      14.5          2.7             9.3
0102     -1.6         4.8          20.3           3.4
0103     6.2         0.8             7.5             10.6

如何按照0101这一行的数据从大到小排序,整理数据集?
二维码

扫码加我 拉你入群

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

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

2010-7-21 10:29:27
3# sunnytree


用proc transpose把数据掉个个,然后再proc sort排序。比如:

data have;
input date $   return1-return4;
cards;
0101     12.3      14.5          2.7             9.3
0102     -1.6         4.8          20.3           3.4
0103     6.2         0.8             7.5             10.6
;
run;

proc transpose data=have out=want prefix=date_;
     id date;
      var return1-return4 ;
run;
proc sort; by date_0101;
run;
二维码

扫码加我 拉你入群

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

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

2010-7-21 11:21:43
data have;
input date $   return1-return4;
call sortn(return4,return3,return2,return1);
cards;
0101   12.3   14.5   2.7    9.3
0102   -1.6   4.8    20.3   3.4
0103   6.2    0.8    7.5     10.6
;
run;
二维码

扫码加我 拉你入群

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

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

2010-7-21 11:32:36
data wkn;
input date $  return1 return2 return3 return4;
cards;

0101     12.3   14.5   2.7    9.3
0102     -1.6   4.8    20.3    3.4
0103     6.2    0.8    7.5     10.6
;
run;
data wkn1;
set wkn;
array a(*) return1-return4;
do i=dim(a)-1 to 1 by -1;
do j=1 to i;
if a(j)>a(j+1) then do;
kk=a(j+1);
a(j+1)=a(j);
a(j)=kk;
end;
end;end;
drop kk i j;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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