全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2213 1
2017-01-13
各位大神,现在有一个数据集如下
  F1  F2  F3  F4
  2    3    6    0
  3    2    2    1
  6   7     7    1
  4   4    4     0
  5   5    6     1
  2   3    3     1
  8   8    9     1
  7    7    7    0

其中变量F4只有 0和1 两个数字,且1 一定是连续的(至少连续出现2次)。我现在想把这个数据集按照F4拆成多个数据集,拆法就是 每一个连续的1 拆成1个数据集,例如例子里就是 生成两个数据集,一个是2条,一个是3条。

谢谢
二维码

扫码加我 拉你入群

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

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

全部回复
2017-1-13 19:13:12
data test1;
set test;
obs=_n_;
if f4 ne lag(f4) then num+1;
run;

proc sql;
create table test2 as
select *, count(*) as n
from test1
group by num
having n=1 or f4=0
order by obs;
quit;

data _null_;
set test2(drop=num n);
lagobs=lag(obs);
if _n_>1 and obs-lagobs ne 1;
datnum+1;
call execute('data wanted'||cats(datnum)||';set test1;where obs>'||cats(lagobs)||' and obs<'||cats(obs)||';keep f1-f4;run;');
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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