全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
957 0
2015-01-16
想通过data步实现以下功能
data test;
input a @;
do i=1 to 3;
input b @;
output;
end;
datalines;
1 2 3 4
5 6 7 8
run;
proc print data=test(drop=i);
run;

这样的话能够得到想要的结果,即:一个a 对应3个b
Obsab
112
213
314
456
557
658但是如果a不是在第一列,就不知道怎么实现了
唯一能想到的是:
data test;
input @7 a @;
do i=1 to 3;
input @(2*i-1) b @;
output;
end;
datalines;
1 2 3 4
5 6 7 8
run;
proc print data=test(drop=i);
run;

这样也能得到想要的结果,即1个a对应3个b
Obsab
141
242
343
485
586
687但是如果数据长度不一,或者a所在的位置不是最后一列,都不能得到想要的结果,求大神指点如何实现?

另外还有个问题想请教,现在base和advan的tutor都学完了,想进一步深入学习一下,不知道该从什么方面下手?

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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