首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按级别划分的按星期划分的移动平均值

按级别划分的按星期划分的移动平均值
EN

Stack Overflow用户
提问于 2017-08-18 00:07:34
回答 1查看 400关注 0票数 0

快速R问题:我有一个类似如下的数据集:

代码语言:javascript
复制
Outlet        weekday    visitors   Month
jackInthebox    Monday  10          July      
jackInthebox    Monday  11          July       
jackInthebox    Tues    15          July
jackInthebox    Tues    16          July 
jackInthebox    Wed     30          July
jackInthebox    Wed     28          July 
KFC             Monday  50          July 
KFC             Monday  53          July 
KFC             Tues    60          July 
KFC             Tues    64          July
KFC             Wed     30          July
KFC             Wed     31          July

我想做一个移动平均预测,但先按星期几分组,然后按网点分组。因此,获取下5个星期一和下5个星期二的jackinthebox的预测,以此类推。这是针对每个插座的。并且希望添加一个outlet标签和星期几标签,这样我就能知道哪个属于哪个。

现在,我正尝试在for循环中这样做,但遇到了它的分组部分的问题。

同样,我们的目标是做一个滚动平均预测,但基于星期几和月份(忘记包括在内)。有多个网点和月份)对于每个网点

任何帮助都将是伟大的!!

EN

回答 1

Stack Overflow用户

发布于 2017-08-18 00:26:02

如果没有5,则roll计算5或更小的滚动平均值。ave将其应用于每个组。

代码语言:javascript
复制
library(zoo)

roll <- function(x) rollapplyr(x, 5, mean, partial = TRUE)
transform(DF, ma = ave(visitors, Outlet, weekday, Month, FUN = roll))

结果将ma列添加到输入:

代码语言:javascript
复制
         Outlet weekday visitors Month   ma
1  jackInthebox  Monday       10  July 10.0
2  jackInthebox  Monday       11  July 10.5
3  jackInthebox    Tues       15  July 15.0
4  jackInthebox    Tues       16  July 15.5
5  jackInthebox     Wed       30  July 30.0
6  jackInthebox     Wed       28  July 29.0
7           KFC  Monday       50  July 50.0
8           KFC  Monday       53  July 51.5
9           KFC    Tues       60  July 60.0
10          KFC    Tues       64  July 62.0
11          KFC     Wed       30  July 30.0
12          KFC     Wed       31  July 30.5

注意:这是假定的输入DF

代码语言:javascript
复制
Lines <- "
Outlet        weekday    visitors   Month
jackInthebox    Monday  10          July      
jackInthebox    Monday  11          July       
jackInthebox    Tues    15          July
jackInthebox    Tues    16          July 
jackInthebox    Wed     30          July
jackInthebox    Wed     28          July 
KFC             Monday  50          July 
KFC             Monday  53          July 
KFC             Tues    60          July 
KFC             Tues    64          July
KFC             Wed     30          July
KFC             Wed     31          July"

DF <- read.table(text = Lines, header = TRUE, as.is = TRUE)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45740094

复制
相关文章

相似问题

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