如何计算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 。
何时使用加权平均值
在实践中,当我们认为某些数据值比其他数据值更重要并因此希望这些较大的值对最终平均值贡献更大时,就会使用加权平均值。