全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
830 2
2012-09-29
各位大侠:;
我有这样一组数据集,里面有这样三个变量
i     j    y
1   1    .
1   2    1
1   3    1
2   1    .
2   2    2
2   3    3
5   1    .
5   2    1
5   3    3
9   1    .
9   2    2
9   3    2
9   4    3
9   5    2

i是个体变量; j是不同时间点变量,y是相应的值。我想对于不同的个体,只要他有1个时间点的结果评价是1,那么总的评价结果就是1,没有1的,总的评价结果为0,用总结果替换第一时间点的值,SAS怎么编程啊。最终达到这样结果:
i     j    y
1   1    1
1   2    1
1   3    1
2   1    0
2   2    2
2   3    3
5   1    0
5   2    3
5   3    3
9   1    1
9   2    2
9   3    2
9   4    3
9   5    1

谁会写这个程序啊,帮帮忙吧!非常感谢

二维码

扫码加我 拉你入群

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

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

全部回复
2012-9-29 12:41:31
data raw;
  input i j y;
  cards;
1   1    .
1   2    1
1   3    1
2   1    .
2   2    2
2   3    3
5   1    .
5   2    1
5   3    3
9   1    .
9   2    2
9   3    2
9   4    3
9   5    2
;
run;


proc sort data=raw out=raw1(keep=i y) nodupkey;
  by i;
  where y=1;
run;

data raw2;
  set raw1;
  j=1;
run;

proc sort data=raw2;
  by i j;
run;

proc sort data=raw;
  by i j;
run;

data raw3;
  merge raw(in=a) raw2;
  by i j;
  if a;
run;

data final;
  set raw3;
  if j=1 and y^=1 then y=0;
run;

二维码

扫码加我 拉你入群

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

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

2012-10-20 21:12:39
data raw;
  input i j y;
  cards;
1   1    .
1   2    1
1   3    1
2   1    .
2   2    2
2   3    3
5   1    .
5   2    1
5   3    3
9   1    .
9   2    2
9   3    2
9   4    3
9   5    2
;
run;

proc sort data=raw out=raw1;
by i descending y;
run;

data raw2;
        set raw1;
        by i;
        retain flag 0;
        if first.i then do;flag=0;y1=y;end;
                if y=1 then do; flag=1; y1=y;end;
                        else if y=. then do;
                                 if flag=1 then do;y1=1;end;
                                                                         else  if flag=0 then do;y1=0;end;
                                                        end;
                                else y1=y;
run;

proc sort data=raw2(keep=i j y1 rename=(y1=y));
by i   j;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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