早教吧 育儿知识 作业答案 考试题库 百科 知识分享

SAS数据中修改某一列等于0的值,让它等于该列前一个数怎么改?Dataqueshizhi;Setwork.biao;ArrayAAvg;/*Avg是biao中的某一列*/DooverA;IfA=0Thenavgque=lag(A);elseavgque=A;End;Run;哪里不对这个弄出来avgque完全

题目详情
SAS 数据中修改某一列等于0的值,让它等于该列前一个数
怎么改?
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;