SAS 数据中修改某一列等于0的值,让它等于该列前一个数
怎么改?Dataqueshizhi;Setwork.biao;ArrayAAvg;/*Avg是biao中的某一列*/DooverA;IfA=0Thenavgque=lag...
怎么改?
Data queshizhi;
Set work.biao;
Array A Avg; /*Avg是biao中的某一列*/
Do over A;
If A=0 Then avgque=lag(A);
else avgque=A;
End;
Run;
哪里不对
这个弄出来avgque完全等于Avg
急!! 展开
Data queshizhi;
Set work.biao;
Array A Avg; /*Avg是biao中的某一列*/
Do over A;
If A=0 Then avgque=lag(A);
else avgque=A;
End;
Run;
哪里不对
这个弄出来avgque完全等于Avg
急!! 展开
展开全部
data biao;
do id=1 to 20;
avg=max(0,int(10*rannor(1)));
output;
end;
run;
data queshizhi;
set work.biao;
retain xx;
if avg ne 0 then xx=avg;
if avg=0 then avgque=xx;
else avgque=avg;
run;
proc print data=queshizhi noobs;
run;
do id=1 to 20;
avg=max(0,int(10*rannor(1)));
output;
end;
run;
data queshizhi;
set work.biao;
retain xx;
if avg ne 0 then xx=avg;
if avg=0 then avgque=xx;
else avgque=avg;
run;
proc print data=queshizhi noobs;
run;
追问
第一步其实是在对biao做什么啊
新手。。好多看不懂。。。。
追答
第一个data步的作用是生成虚假的SAS数据集(biao),用以举例说明。你看第二个data步就可以了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询