概要
dplyr
パッケージに含まれるcummean(), cumany(), cumall()
とbase
関数のcumsum(), cumprod(), cummin(), cummax()
は、ベクトルの値を累計する関数です。主にmutate()
と併せて使用します。
関連ページ
関数
1 2 3 4 5 6 7 | cumsum (x) cumprod (x) cummax (x) cummin (x) cumall (x) cumany (x) cummean (x) |
引数 | 指定 | 説明 |
---|---|---|
x | 必須 | 累計の対象になる列名を指定する |
使い方
解説用データフレーム
1 2 3 | df <- tibble ( x1 = c (1, 2, 3, 4, 5) ) |
> df # A tibble: 5 x 1 x1 <dbl> 1 1 2 2 3 3 4 4 5 5 |
1.累積を計算する
1-1.累積和
1 2 | # 列x1の累積和を計算する mutate (df, y1 = cumsum (x1)) |
# A tibble: 5 x 2 x1 y1 <dbl> <dbl> 1 1 1 2 2 3 3 3 6 4 4 10 5 5 15 |
1-2.累積積
1 2 | # 列x1の累積積を計算する mutate (df, y1 = cumprod (x1)) |
# A tibble: 5 x 2 x1 y1 <dbl> <dbl> 1 1 1 2 2 2 3 3 6 4 4 24 5 5 120 |
1-3.累積平均
1 2 | # 列x1の累積平均を計算する mutate (df, y1 = cummean (x1)) |
# A tibble: 5 x 2 x1 y1 <dbl> <dbl> 1 1 1.0 2 2 1.5 3 3 2.0 4 4 2.5 5 5 3.0 |
2.最小値と最大値
2-1.累積最小値
1 2 | # 列x1の累積最小値を返す mutate (df, y1 = cummin (x1)) |
# A tibble: 5 x 2 x1 y1 <dbl> <dbl> 1 1 1 2 2 1 3 3 1 4 4 1 5 5 1 |
2-2.累積最大値
1 2 | # 列x1の累積最大値を返す mutate (df, y1 = cummax (x1)) |
# A tibble: 5 x 2 x1 y1 <dbl> <dbl> 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 |
3.Bool型を返す
3-1.条件と一致するまでFalseを返す
1 2 | # 列x1が条件と一致するまでFalseを返す mutate (df, y1 = cumany (x1 == 3)) |
# A tibble: 5 x 2 x1 y1 <dbl> <lgl> 1 1 FALSE 2 2 FALSE 3 3 TRUE 4 4 TRUE 5 5 TRUE |
3-2.条件から外れるまでTrueを返す
1 2 | # 列x1が条件から外れるまでTrueを返す mutate (df, y1 = cumall (x1 % in % c (1, 2, 4))) |
# A tibble: 5 x 2 x1 y1 <dbl> <lgl> 1 1 TRUE 2 2 TRUE 3 3 FALSE 4 4 FALSE 5 5 FALSE |