Як обчислити середньозважену величину в r


Щоб обчислити зважену середню в R, ви можете скористатися вбудованою функцією weighted.mean() , яка використовує такий синтаксис:

weighted.average(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

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

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