全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2076 1
2009-01-26

首先,

祝各位老师牛年吉祥,身体健康!

祝人大经济论坛越来越牛,牛气冲天!!

求助老师: 观测循环的问题?

一个数据集,如下:

data  aa ;
input x y z;
cards;
111 11 1
222 22 2
333 33 3
;
run;

如何编程让每行观测循环0-3次,得到下列排列?             谢谢!!!

        i1             i2              i3
111 11 1 0 222 22 2 0 333 33 3 0
111 11 1 0 222 22 2 0 333 33 3 1
111 11 1 0 222 22 2 0 333 33 3 2
111 11 1 0 222 22 2 0 333 33 3 3
111 11 1 0 222 22 2 1 333 33 3 0
111 11 1 0 222 22 2 1 333 33 3 1
111 11 1 0 222 22 2 1 333 33 3 2
111 11 1 0 222 22 2 1 333 33 3 3
111 11 1 0 222 22 2 2 333 33 3 0
111 11 1 0 222 22 2 2 333 33 3 1
111 11 1 0 222 22 2 2 333 33 3 2
111 11 1 0 222 22 2 2 333 33 3 3
111 11 1 0 222 22 2 3 333 33 3 0
111 11 1 0 222 22 2 3 333 33 3 1
111 11 1 0 222 22 2 3 333 33 3 2
111 11 1 0 222 22 2 3 333 33 3 3
111 11 1 1 222 22 2 0 333 33 3 0
111 11 1 1 222 22 2 0 333 33 3 1
111 11 1 1 222 22 2 0 333 33 3 2
111 11 1 1 222 22 2 0 333 33 3 3
111 11 1 1 222 22 2 1 333 33 3 0
111 11 1 1 222 22 2 1 333 33 3 1
111 11 1 1 222 22 2 1 333 33 3 2
111 11 1 1 222 22 2 1 333 33 3 3
111 11 1 1 222 22 2 2 333 33 3 0
111 11 1 1 222 22 2 2 333 33 3 1
111 11 1 1 222 22 2 2 333 33 3 2
111 11 1 1 222 22 2 2 333 33 3 3
111 11 1 1 222 22 2 3 333 33 3 0
111 11 1 1 222 22 2 3 333 33 3 1
111 11 1 1 222 22 2 3 333 33 3 2
111 11 1 1 222 22 2 3 333 33 3 3
111 11 1 2 222 22 2 0 333 33 3 0
111 11 1 2 222 22 2 0 333 33 3 1
111 11 1 2 222 22 2 0 333 33 3 2
111 11 1 2 222 22 2 0 333 33 3 3
111 11 1 2 222 22 2 1 333 33 3 0
111 11 1 2 222 22 2 1 333 33 3 1
111 11 1 2 222 22 2 1 333 33 3 2
111 11 1 2 222 22 2 1 333 33 3 3
111 11 1 2 222 22 2 2 333 33 3 0
111 11 1 2 222 22 2 2 333 33 3 1
111 11 1 2 222 22 2 2 333 33 3 2
111 11 1 2 222 22 2 2 333 33 3 3
111 11 1 2 222 22 2 3 333 33 3 0
111 11 1 2 222 22 2 3 333 33 3 1
111 11 1 2 222 22 2 3 333 33 3 2
111 11 1 2 222 22 2 3 333 33 3 3
111 11 1 3 222 22 2 0 333 33 3 0
111 11 1 3 222 22 2 0 333 33 3 1
111 11 1 3 222 22 2 0 333 33 3 2
111 11 1 3 222 22 2 0 333 33 3 3
111 11 1 3 222 22 2 1 333 33 3 0
111 11 1 3 222 22 2 1 333 33 3 1
111 11 1 3 222 22 2 1 333 33 3 2
111 11 1 3 222 22 2 1 333 33 3 3
111 11 1 3 222 22 2 2 333 33 3 0
111 11 1 3 222 22 2 2 333 33 3 1
111 11 1 3 222 22 2 2 333 33 3 2
111 11 1 3 222 22 2 2 333 33 3 3
111 11 1 3 222 22 2 3 333 33 3 0
111 11 1 3 222 22 2 3 333 33 3 1
111 11 1 3 222 22 2 3 333 33 3 2
111 11 1 3 222 22 2 3 333 33 3 3

[此贴子已经被作者于2009-1-26 15:11:56编辑过]

二维码

扫码加我 拉你入群

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

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

全部回复
2009-1-29 13:39:00

不知道是不是这个意思,应该会有更好的方法的

data  aa ;
input x y z;
cards;
111 11 1
222 22 2
333 33 3
;
run;
data bb;
set aa;
length cc $6;
cc=cats(of x y z);
keep cc;
run;
proc transpose data=bb out=bb(keep=c1-c3) prefix=c;
var cc;
run;
data ab;
if _n_=1 then set bb;
else do i1=0 to 3;
  do i2=0 to 3;
   do i3=0 to 3;
   output;
   end;
  end;
 end;
run;
data ab(drop=c1-c3);
length x1-x3 y1-y3 z1-z3 $3;
set ab;
x1=substr(c1,1,3);x2=substr(c1,4,2);x3=substr(c1,6,1);
y1=substr(c2,1,3);y2=substr(c2,4,2);y3=substr(c2,6,1);
z1=substr(c3,1,3);z2=substr(c3,4,2);z3=substr(c3,6,1);
run;
proc print data=tt;
var x1-x3 i1 y1-y3 i2 z1-z3 i3;
run;

二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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