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

急!!
展开
 我来答
Jessup007
推荐于2016-12-02 · TA获得超过213个赞
知道小有建树答主
回答量:79
采纳率:0%
帮助的人:125万
展开全部
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;
追问
第一步其实是在对biao做什么啊

新手。。好多看不懂。。。。
追答
第一个data步的作用是生成虚假的SAS数据集(biao),用以举例说明。你看第二个data步就可以了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式