如何使用SAS将配对值放入缺失值?

时间:2014-07-28 11:42:19

标签: sas missing-data

数据如下:
ID Year A B 1 1279 1996 0 0 2 1279 2003 0 1 3 1447 1993 1 0 4 1447 2001 1 1 5 1487 1967 0 0 6 1487 2008 1 . 7 1487 2008 1 . 8 1487 2009 0 1 9 1678 1979 1 0 10 1678 2002 1 1 11 1690 1989 1 0 12 1690 1993 0 . 13 1690 1993 0 . 14 1690 1996 0 . 15 1690 1996 0 . 16 1690 1997 0 1

我创建了一个变量B.具有最早年份的ID对于B具有值0,具有最新年份的ID对于B具有值1.然而,所有其他ID获得第二个观察创建,一个对于B,观察值为1,而对于B,观察值为0。

所以输出结果如下:
ID Year A B 1 1279 1996 0 0 2 1279 2003 0 1 3 1447 1993 1 0 4 1447 2001 1 1 5 1487 1967 0 0 6 1487 2008 1 1* 7 1487 2008 1 0* 8 1487 2009 0 1 9 1678 1979 1 0 10 1678 2002 1 1 11 1690 1989 1 0 12 1690 1993 0 1* 13 1690 1993 0 0* 14 1690 1996 0 1* 15 1690 1996 0 0* 16 1690 1997 0 1

B序列应为0和1.我需要将1和0放入缺失值。 谁能在这帮助我?提前致谢。

1 个答案:

答案 0 :(得分:0)

如果没有您的代码来创建上述内容,我们就无法做很多事情。

我假设您正在使用这些值的值并按年份排序。如果是这样,这个循环经过测试并正常工作:

data newdata;
    set data;
    by id year;
    if first.id then
    do;
        count=0;
        B=0;
    end;
    if not first.id and not last.id then
    do;
        count+1;
        B=mod(count,2);
    end;
    if last.id then
    B=1;
run;

让我知道你是怎么过的。