Чтобы вычислить средневзвешенное значение в 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