全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
754 2
2019-06-21
跪求大神指导!
现在有两个变量,时间date和a, 其中date只截图了一部分,原始的长度是20年的每一天。现在我要做的是——对20年中的每一天,都求其后三天的a的均值。(例如对2009年12月30日,我就要算2009年12月31日到2010年1月2日的a的平均值)。程序要循环20年的每一天。跪求大神指导!!!谢谢。                            ~9]9@XHWL`[0UCCS5XKO_WB.png
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-6-21 14:26:41
我直接把日期当数值型来做了,大概是这样。
抱歉,修改下答案,想的太多了

data raw;
          input date a;
          cards;
          1 22
          2 33
          3 413
          4 24
          5 56
          6 21
          7 465
          8 234
          9 34
          10 34
          ;
run;
data get(keep=sum ave);
         set raw ;
         b=lag(a);
         c=lag(b);
         d=lag(c);
         if b*c*d=. then delete;
         sum=a+b+c;
         ave=sum/3;
                
run;
data final;
         merge raw get;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-6-21 17:23:52
可以用proc timeseries
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群