首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >移动平均值仅适用于sas中的连续几天

移动平均值仅适用于sas中的连续几天
EN

Stack Overflow用户
提问于 2013-10-04 02:19:22
回答 1查看 454关注 0票数 0

我有一个关于移动平均线的问题。我使用Proc扩展(cmovave 3),但我认为这三天可能是不连续的。我想避免在几天之间丢失数据,而只对相邻的几天使用移动平均。

我有什么办法可以做到这一点吗?如果我想用另一种方式来表达“我如何选择我的数据集中具有连续周期(天数)的值的一部分?”我希望你能给我一些这个问题的例子。

EN

回答 1

Stack Overflow用户

发布于 2013-10-04 03:30:14

使用Expand确保拥有timeseries间隔中的所有值。然后使用数据步骤通过lagN()函数计算ma3。

如果您的数据已经具有正确的时间序列间隔,则跳过PROC扩展步骤。

代码语言:javascript
复制
data test;
start = "01JAN2013"d;
format date date9.
       value best.;
do i=1 to 365;
    r = ranuni(1);
    value = rannor(1);
    date = intnx('weekday',start,i);
    dummy=1;
    if r > .33 then output;
end;
drop i start r;
run;

proc expand data=test out=test2 to=weekday ;
id date;
var dummy;
run;

data test(drop=dummy);
merge test2 test;
by date;
ma3 = (value + lag(value) + lag2(value))/3;
run;

我使用虚拟变量,以便EXPAND将系列转换为工作日。然后再把它扔掉。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19166351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档