R で累積平均を計算する方法
累積平均は、ある時点までの一連の値の平均を示します。
次の方法を使用して、R の値の累積平均を計算できます。
方法 1: 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です。
- 最初の 2 つの売上値の累積平均は4.5です。
- 最初の 3 つの売上値の累積平均は3です。
- 最初の 4 つの売上値の累積平均は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 で他の一般的なメトリクスを計算する方法を説明します。