如何计算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 中的特定列求和

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注