If statement 为SAS中的第一个和最后一个创建标志
我希望能够创建一个标志,在这里称为timelag,它对于某个会话的每个第一个和最后一个条目都设置为1,由If statement 为SAS中的第一个和最后一个创建标志,if-statement,sas,If Statement,Sas,我希望能够创建一个标志,在这里称为timelag,它对于某个会话的每个第一个和最后一个条目都设置为1,由logflag指定。我有以下内容,但这给了我null数据点: data OUT.TENMAY_TIMEFLAG; set IN.TENMAY_LOGFLAG; if first.logflag then timeflag = 1; if last.logflag then timeflag = 1; run; 关于第一个。和最后一个。函数,我在这里不理解的是什么,还是我有两
logflag
指定。我有以下内容,但这给了我null
数据点:
data OUT.TENMAY_TIMEFLAG;
set IN.TENMAY_LOGFLAG;
if first.logflag then timeflag = 1;
if last.logflag then timeflag = 1;
run;
关于第一个。
和最后一个。
函数,我在这里不理解的是什么,还是我有两个if语句
data OUT.TENMAY_TIMEFLAG;
set IN.TENMAY_LOGFLAG;
by logflag;
if first.logflag then timeflag = 1;
if last.logflag then timeflag = 1;
run;
注意:在这种情况下,TENMAY_LOGFLAG中的数据集应按
LOGFLAG
排序,以便首先创建SAS。最后。自动变量您需要使用BY语句。如果希望新变量编码为1/0,则无需If语句,只需将自动变量分配给新的永久变量即可。要使第一个和最后一个变量为1,则只需使用或
data want;
set have;
by logflag ;
timeflag = first.logflag or last.logflag ;
run;