Як розрахувати кумулятивне середнє в 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 .
  • Кумулятивне середнє значення перших двох продажів становить 4,5 .
  • Сукупне середнє значення перших трьох продажів дорівнює 3 .
  • Кумулятивне середнє значення перших чотирьох продажів становить 2,75 .

І так далі.

Приклад 2: обчисліть кумулятивне середнє за допомогою dplyr

Ми також можемо використати функцію cummean із пакета dplyr у R, щоб обчислити кумулятивне середнє.

Наступний код показує, як використовувати цю функцію, щоб додати новий стовпець до нашого кадру даних, який відображає кумулятивний середній обсяг продажів:

 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:

Як обчислити зрізане середнє в R
Як обчислити середнє геометричне в R
Як обчислити середньозважену величину в R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *