Как рассчитать совокупное среднее значение в r


Совокупное среднее сообщает нам среднее значение ряда значений до определенного момента.

Для расчета совокупного среднего значений в R можно использовать следующие методы:

Метод 1: используйте базу 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *