Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 显示第二天在SAS中执行的选定观察_Date_Sas_Dataset_Selection - Fatal编程技术网

Date 显示第二天在SAS中执行的选定观察

Date 显示第二天在SAS中执行的选定观察,date,sas,dataset,selection,Date,Sas,Dataset,Selection,如果变量ID、日期、过程的数据集如下所示: '12 01jan2013 a' '12 01feb2013 b' '13 14feb2013 c' '13 15feb2013 a' '24 01mar2013 c' '24 02mar2013 a' '26 01oct2013 a' '26 02oct2013 a' 我只想输出那些观察结果,其中过程为a,并且在过程为c之后的第二天对每个ID(按ID)执行。因此,从上述示例中,我将得出以下结论: '13 15feb2013 a' '

如果变量ID、日期、过程的数据集如下所示:

'12 01jan2013 a'

'12 01feb2013 b'

'13 14feb2013 c'

'13 15feb2013 a'

'24 01mar2013 c'

'24 02mar2013 a'

'26 01oct2013 a'

'26 02oct2013 a'
我只想输出那些观察结果,其中过程为a,并且在过程为c之后的第二天对每个ID(按ID)执行。因此,从上述示例中,我将得出以下结论:

'13 15feb2013 a'

'24 02mar2013 a'

你能帮我为这次行动提供一个SAS代码吗?

是的,你做得对<代码>保留是一种方法。然后,您可以将条件语句的日期转换为SAS日期值(即1960年1月1日之后的天数)

data test(drop=retaindate rid);
    infile datalines truncover;
    input ID date date9. Procedure $;

    if Procedure = 'c' then do;
        retaindate = date;
        rid = id;
        retain retaindate rid;
    end;
    if Procedure='a' and rid=id and date=retaindate+1 then do;
        output;
    end;
    format date date9.;
    datalines;
    12 01jan2013 a

    12 01feb2013 b

    13 14feb2013 c

    13 15feb2013 a

    24 01mar2013 c

    24 02mar2013 a

    26 01oct2013 a

    26 02oct2013 a
    ;
    run;

您好,到目前为止您尝试了什么?我正在按ID使用“retain”和“New_date=date+1”以及“if-then-do”语句。但是我不知道如何使过程变量具体化。输出的obs必须与昨天的过程=
c
具有相同的ID吗?我使用了您提到的retain语句,还使用了SAS日期值,而不是下面代码中示例数据集中的日期格式。是的,ID必须相同。我正在尝试查看ID是否在对该ID执行PRODURE=c后的第二天执行了PRODURE=a。在您进一步说明所需条件后,我还保留了ID,从而稍微修改了代码。干杯。这将在不同的ID之间溢出-只需要一点first.ID逻辑来处理。是的,你说得对,我在日志中没有看到。我稍微调整了一下。谢谢你通知我。