我先说明变量间的关系
原始数据有
a x y z p q1 p1
生成的数据有
q q2
我最主要是想要求得q变量的值
q2=lag(q1)
q=q1-q2
表1为使用上述自行设定之语法所得出的结果
表2为我真正相显示出的结果
原始文件就是我图上的原始表格(图中的左上角),图好像太大而被截掉,但我试过先将图抓下来就可以清楚看见整张图的全貌了,先谢谢前辈您的指教了!
q1原始数据给的,表1中的第4行的q2想要在p为0的条件下数字持续延伸至第6和第6行之q2,使结果会变为表2中q2之结果,但我一直无法完成此项动作,因为我的程序似忽只执行我所设的条件一次(第4行q2),无法延续(第5和6之q2),而这也是我这个问题中最难解决的地方,希望各位前辈能帮帮我解决这个问题,谢谢!(语法写得很乱,真是不好意思)
自行设定之语法为:
(if a=1
then do;
p=p1 ;
q=q1-q2; end;
else do;
p=0; q=0; end;
if a=1 and q1<q2 then
eq=q1;
else if a=0 then q=0; else
q=q1-q2;
if a=0 then goto ok;
ok:q1=q2+0;q2=lag(q1);
if a=1 then q2=q1-q2;
if q<0 then q=q1;)