Как рассчитать средневзвешенное значение в R


Чтобы вычислить средневзвешенное значение в R, вы можете использовать встроенную функцию weighted.mean() , которая использует следующий синтаксис:

взвешенное.среднее (x, w)

куда:

  • x: вектор необработанных значений данных.
  • w: вектор весов

В этом руководстве показано несколько примеров использования этой функции на практике.

Пример 1: взвешенное среднее вектора

Следующий код показывает, как вычислить средневзвешенное значение для заданного вектора данных:

#define vector of data values
data <- c(3, 5, 6, 7, 8)

#define vector of weights
weights <- c(.1, .3, .3, .2, .1)

#calculate weighted mean
weighted. mean (x=data, w=weights)

[1] 5.8

Средневзвешенное значение оказывается равным 5,8 .

Пример 2. Средневзвешенное значение столбца во фрейме данных

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

#create data frame
df <- data.frame(values = c(3, 5, 6, 7, 8),
 weights = c(.1, .3, .3, .2, .1))

#calculate weighted mean
weighted. mean (x=df$values, w=df$weights)
[1] 5.8

Средневзвешенное значение оказывается равным 5,8 .

Обратите внимание, что вы также можете рассчитать средневзвешенное значение для столбца во фрейме данных, используя отдельный вектор в качестве весов:

#create data frame
df <- data.frame(values = c(3, 5, 6, 7, 8),
 other_data = c(6, 12, 14, 14, 7),
 more_data = c(3, 3, 4, 7, 9))

#define vector of weights
weights <- c(.1, .3, .3, .2, .1)

#calculate weighted mean
weighted. mean (x=df$values, w=weights)
[1] 5.8

Снова средневзвешенное значение оказывается равным 5,8 .

Когда использовать взвешенное среднее

На практике взвешенное среднее используется, когда мы считаем, что некоторые значения данных более важны, чем другие, и поэтому мы хотим, чтобы эти более важные значения вносили больший вклад в окончательное среднее значение.

Дополнительные ресурсы

Как вычислить среднее значение нескольких столбцов в R
Как рассчитать среднее значение по группе в R
Как суммировать определенные столбцы в R