SAS中文论坛
标题:
请教一个SAS数据处理问题
[打印本页]
作者:
shiyiming
时间:
2006-1-18 07:37
标题:
请教一个SAS数据处理问题
各位前辈:
我想实现这样一个算法,请问该如何编程?
一个数据集中包括Subj和Conc两个变量。
从第一个观测开始,如果某一个观测的Conc='0'且Subj与前一个观测的Subj相同且前一观测的Conc NE '0',那么这一观测的Conc='ND'。
例如数据集如下:
[b:8c216]subj[/b:8c216] [b:8c216]conc[/b:8c216]
subj1 0
subj1 0
subj1 1
subj1 3
subj1 5
subj1 6
subj1 4
subj1 2
subj1 0
subj1 0
subj2 0
按照上面的算法,前两个观测的conc应该不变,而第9、10个观测的conc应该变成'ND',最后一个观测的conc也不变。
谢谢!
作者:
shiyiming
时间:
2006-2-11 19:29
标题:
不才给一个答案
data test;
input subj$ conc$;
do i=1 to 11;
if (conc='0' and subj=lag(subj) and lag(conc)^='0')then conc='nd';
end;
drop i;
cards;
subj1 0
subj1 0
subj1 1
subj1 3
subj1 5
subj1 6
subj1 4
subj1 2
subj1 0
subj1 0
subj2 0
;
run;quit;
欢迎光临 SAS中文论坛 (http://mysas.net/forum/)
Powered by Discuz! X3.2