如何计算 r 中的累积平均值
累积平均值告诉我们截至某一点的一系列值的平均值。
您可以使用以下方法来计算R中值的累积平均值:
方法一:使用Base R
cum_avg <- cumsum(x) / seq_along(x)
方法2:使用dplyr
library (dplyr)
cum_avg <- cummean(x)
两种方法返回完全相同的结果,但dplyr方法往往在大型数据帧上执行得更快。
以下示例展示了如何在 R 中使用以下数据框实际使用每种方法:
#create data frame df <- data. frame (day=seq(1:16), sales=c(3, 6, 0, 2, 4, 1, 0, 1, 4, 7, 3, 3, 8, 3, 5, 5)) #view head of data frame head(df) day sales 1 1 3 2 2 6 3 3 0 4 4 2 5 5 4 6 6 1
示例 1:使用 R 基数计算累积平均值
我们可以使用以下代码向数据框中添加一个新列,以显示累计销售平均值:
#add new column that contains cumulative avg. of sales
df$cum_avg_sales <- cumsum(df$sales) / seq_along(df$sales)
#view updated data frame
df
day sales cum_avg_sales
1 1 3 3.000000
2 2 6 4.500000
3 3 0 3.000000
4 4 2 2.750000
5 5 4 3.000000
6 6 1 2.666667
7 7 0 2.285714
8 8 1 2.125000
9 9 4 2.333333
10 10 7 2.800000
11 11 3 2.818182
12 12 3 2.833333
13 13 8 3.230769
14 14 3 3.214286
15 15 5 3.333333
16 16 5 3.437500
我们将累积平均值解释为:
- 首次销售的累计平均值为3 。
- 前两次销售值的累计平均值为4.5 。
- 前三个销售值的累计平均值为3 。
- 前四次销售值的累计平均值为2.75 。
等等。
示例 2:使用 dplyr 计算累积平均值
我们还可以使用 R 中dplyr包中的cummean函数来计算累积平均值。
以下代码演示了如何使用此函数向数据框中添加新列以显示累计销售平均值:
library (dplyr)
#add new column that contains cumulative avg. of sales
df$cum_avg_sales <- cummean(df$sales)
#view updated data frame
df
day sales cum_avg_sales
1 1 3 3.000000
2 2 6 4.500000
3 3 0 3.000000
4 4 2 2.750000
5 5 4 3.000000
6 6 1 2.666667
7 7 0 2.285714
8 8 1 2.125000
9 9 4 2.333333
10 10 7 2.800000
11 11 3 2.818182
12 12 3 2.833333
13 13 8 3.230769
14 14 3 3.214286
15 15 5 3.333333
16 16 5 3.437500
请注意,此方法返回的结果与前一个方法完全相同。
其他资源
以下教程解释了如何计算 R 中的其他常见指标: