移动平均线与累积平均线还是?
Moving Averages vs Cumulative Averages Or?
这可能是一个基本问题,但我一直在搜索许多列表以找到我要查找的内容。基本上,让我描述一下数据集。我有一组来自代表已解决票证的票务系统的数据。我正在查看随时间推移的工单解决时间,看看我的解决时间是上升、下降还是趋于平稳。每天都有很多票(大约200张左右)。我每天提取所有数据并计算解决工单所需的时间(以天为单位)。我正在使用 R 执行此操作,所以我最终得到一个如下所示的数据框:
1/1/2015 INC00001 1.23
1/1/2015 INC00002 .089
等等(每天有很多工单,每个工单都有解决时间)。我想要做的是为此确定某种 运行 平均值。我真正想要的是随着时间的推移显示趋势的线图。我玩过移动平均线等,但我的图表仍然非常波动。我确定 R 中内置了一些东西,可以随时间推移提供移动的 / 运行 / 累积平均值,但我仍然无法准确找到我正在寻找的东西。
我希望看到的图表类似于这样:
[
但更平滑,有点像股票报价机,所以我知道今天的总体平均水平是多少。任何人都可以指出这将被称为什么以及如何在 R 中这样做的方向吗?非常感谢!!
这可以通过 dplyr 快速轻松地完成。下面是一些示例数据:
library(dplyr)
x <- 1:3000
y <- 10 + 1:3000 / 300 + 2 * sin(pi * x / 150) + rnorm(3000, sd = 0.1)
df <- data.frame(x = x, y = y)
这是 plot of the data。以下是如何使用 dplyr 创建滚动平均值和累积平均值:
df.avgs <-
df %>%
mutate(
roll.avg = ( y + lag(y, 1) + lag(y, 2) + lag(y, 3) +
lag(y, 4) + lag(y, 5) + lag(y, 6) + lag(y, 7) +
lag(y, 8) + lag(y, 9) ) / 10,
cum.avg = cummean(y)
)
这是一个 plot of the rolling average。可悲的是,我没有足够的声誉将第三个 link 添加到累积平均值的图中。请注意,这种计算滚动平均值的方法不能容忍 NA
个值。原始数据中的一个 NA
将在滚动平均数据中创建十个 NA
值。您可以通过首先用内插值替换 NA
值来解决这个问题。
这可能是一个基本问题,但我一直在搜索许多列表以找到我要查找的内容。基本上,让我描述一下数据集。我有一组来自代表已解决票证的票务系统的数据。我正在查看随时间推移的工单解决时间,看看我的解决时间是上升、下降还是趋于平稳。每天都有很多票(大约200张左右)。我每天提取所有数据并计算解决工单所需的时间(以天为单位)。我正在使用 R 执行此操作,所以我最终得到一个如下所示的数据框:
1/1/2015 INC00001 1.23
1/1/2015 INC00002 .089
等等(每天有很多工单,每个工单都有解决时间)。我想要做的是为此确定某种 运行 平均值。我真正想要的是随着时间的推移显示趋势的线图。我玩过移动平均线等,但我的图表仍然非常波动。我确定 R 中内置了一些东西,可以随时间推移提供移动的 / 运行 / 累积平均值,但我仍然无法准确找到我正在寻找的东西。
我希望看到的图表类似于这样:
[
但更平滑,有点像股票报价机,所以我知道今天的总体平均水平是多少。任何人都可以指出这将被称为什么以及如何在 R 中这样做的方向吗?非常感谢!!
这可以通过 dplyr 快速轻松地完成。下面是一些示例数据:
library(dplyr)
x <- 1:3000
y <- 10 + 1:3000 / 300 + 2 * sin(pi * x / 150) + rnorm(3000, sd = 0.1)
df <- data.frame(x = x, y = y)
这是 plot of the data。以下是如何使用 dplyr 创建滚动平均值和累积平均值:
df.avgs <-
df %>%
mutate(
roll.avg = ( y + lag(y, 1) + lag(y, 2) + lag(y, 3) +
lag(y, 4) + lag(y, 5) + lag(y, 6) + lag(y, 7) +
lag(y, 8) + lag(y, 9) ) / 10,
cum.avg = cummean(y)
)
这是一个 plot of the rolling average。可悲的是,我没有足够的声誉将第三个 link 添加到累积平均值的图中。请注意,这种计算滚动平均值的方法不能容忍 NA
个值。原始数据中的一个 NA
将在滚动平均数据中创建十个 NA
值。您可以通过首先用内插值替换 NA
值来解决这个问题。