楼主: ashinaaa
1010 1

[有偿编程] 求大神帮忙解决一段sas循环程序!!! [推广有奖]

  • 1关注
  • 2粉丝

已卖:46份资源

硕士生

47%

还不是VIP/贵宾

-

威望
0
论坛币
78986 个
通用积分
6.2564
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
726 点
帖子
41
精华
0
在线时间
283 小时
注册时间
2019-5-9
最后登录
2025-5-22

楼主
ashinaaa 学生认证  发表于 2019-6-21 00:12:10 |AI写论文
4论坛币
求大神指导一段sas程序!!!
现在有两个变量,时间date和a, 其中date只截图了一部分,原始的长度是20年的每一天。现在我要做的是——对20年中的每一天,都求其后三天的a的均值。(例如对2009年12月30日,我就要算2009年12月31日到2010年1月2日的a的平均值)。程序要循环20年的每一天。跪求大神指导!!!谢谢                                                                                                       ~9]9@XHWL`[0UCCS5XKO_WB.png

最佳答案

glmswufe 查看完整内容

不用宏,很简单的 data test; input date a@; format date yymmdd10.; informat date yymmdd10.; cards; 2019-06-01 6 2019-06-02 5 2019-06-03 4 2019-06-04 9 2019-06-05 8 2019-06-06 10 2019-06-07 12 2019-06-08 11 2019-06-09 17 ; run; proc sort data=test; by date; run; data result; set test; retain firsta seconda thirda; retain firstdate seconddate thirddate; format newdate yymmdd10 ...
关键词:sas程序 date ATE 平均值

沙发
glmswufe 发表于 2019-6-21 00:12:11
不用宏,很简单的
data test;
input date a@;
format date yymmdd10.;
informat date yymmdd10.;
cards;
2019-06-01 6
2019-06-02 5
2019-06-03 4
2019-06-04 9
2019-06-05 8
2019-06-06 10
2019-06-07 12
2019-06-08 11
2019-06-09 17
;
run;
proc sort data=test;
by date;
run;
data result;
set test;
retain firsta seconda thirda;
retain firstdate seconddate thirddate;
format newdate yymmdd10.;
keep newdate avga;
if mod(_n_,3)=1 then do; firsta=a;firstdate=date;newdate=seconddate;end;
if mod(_n_,3)=2 then do; seconda=a;seconddate=date;newdate=thirddate;end;
if mod(_n_,3)=0 then do; thirda=a;thirddate=date;newdate=firstdate;end;
avga=(firsta+seconda+thirda)/3;
run;

已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 50 + 5 + 5 + 5 热心帮助其他会员

总评分: 论坛币 + 50  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-16 08:36