全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2737 7
2015-11-11
悬赏 50 个论坛币 已解决
求助,现在有6个数据集分别是A1-A6,这6个数据集中分别有唯一的ID和各自几列数据,
下面以其中的四个为例:  data a1;input id m6-m13;cards;
1 1 4 3 2 5 6 7 8
2 2 4 6 8 10 12 14 16
3 8 7 6 5 4 3 2 1
;run;
data a2;input id n15-n20;cards;
1 1 2 3 4 5 6
2 3 8 5 4 7 3
3 1 5 8 6 9 7
;run;
data a3;input id o13-o18;cards;
1 1 2 3 4 5 6
2 3 7 5 6 8 3
3 1 7 5 8 9 3
;
run;
data a4;input id p19-p22;cards;
1 1 2 3 4
2 3 5  8 3
3 1 7  9 3
;
run;
现在需要这四个数据集a1-a4中,每个数据集选取1列,合并求和生成一个新的数据集,例如:B1数据集包括6列,id m6 n15 o13 p19 以及m6 n15 o13 p19的和。然后每种可能性都产生一个新的数据集B1-Bn(本例中为1152种可能)。挺繁琐,也不知道表述清楚了没有,如有疑问欢迎跟帖,谢谢各位啦~


最佳答案

johnpark1 查看完整内容

You can only keep needed columns. Try below: data b(keep=id i1 i2 i3 i4 x1 x2 x3 x4); array a1 m6-m13; *8 elements; array a2 n15-n20; * 6 elements; array a3 o13-o18; * 6 elements; array a4 p19-p22; *4 elements; merge a1 a2 a3 a4; by id; do i1 = 1 to 8 by 1; do i2 = 1 to 6 by 1; do i3 = 1 to 6 by 1; do i4 = 1 to 4 by 1; x1 = a1; x2 = a2; x3 = a3; x4 = a4; output; end; end; end ...
二维码

扫码加我 拉你入群

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

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

全部回复
2015-11-11 11:19:30
You can only keep needed columns. Try below:

data b(keep=id i1 i2 i3 i4 x1 x2 x3 x4);
array a1 m6-m13; *8 elements;
array a2 n15-n20; * 6 elements;
array a3 o13-o18; * 6 elements;
array a4 p19-p22; *4 elements;  
merge a1 a2 a3 a4; by id;
do i1 = 1 to 8 by 1;
do i2 = 1 to 6 by 1;
do i3 = 1 to 6 by 1;
do i4 = 1 to 4 by 1;
x1 = a1[i1];
x2 = a2[i2];
x3 = a3[i3];
x4 = a4[i4];
output;
end;
end;
end;
end;
run;
二维码

扫码加我 拉你入群

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

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

2015-11-11 12:22:19
建议放在一个数据集里面
二维码

扫码加我 拉你入群

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

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

2015-11-11 13:17:58
teqel 发表于 2015-11-11 12:22
建议放在一个数据集里面
恩,这个之前已经想过了。因为数据量太大,使用array把data A1-A6放在一起的话,超过SAS数据集上限了
二维码

扫码加我 拉你入群

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

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

2015-11-11 15:12:06
johnpark1 发表于 2015-11-11 13:31
You can only keep needed columns. Try below:

data b(keep=id i1 i2 i3 i4 x1 x2 x3 x4);
谢谢,昨天我也是用的这种方法写的,不过因为arraya1-a6数据量太大,约有3万种组合方式,在一个数据集内放不下。sas运行时提示,数据集的空间不够。
所以才想能否把数据放到多个数据集中的方法。或者您看你有什么好办法没有,能够把这些数据表示出来,谢谢。
二维码

扫码加我 拉你入群

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

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

2015-11-11 15:22:22
你每个数据的ID有多少?总共会有多少条记录?
是硬盘不够吗?
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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