编码加权平均值(R)

时间:2018-08-24 18:57:03

标签: r weighted-average

我在一段代码上遇到麻烦。我想执行加权均值,但是如果我自己计算加权均值,我得到的值不是我获得的值。

这是我编码加权均值的方式:

weighted.mean(x = dataset$A[rows], weights = weights) 

变量是“ dataset $ A”,我用于加权平均值的行在“行”中列出(有2行)。权重列在“权重”中。

这是我自己计算的方式:

dataset$A_MEAN[rows[1]]*weights[1] + dataset$A_MEAN[rows[2]]*weights[2]

这两行代码为什么有区别? 我尝试使用以下值:

dataset$A = [45792.76, 64984.67] 
weights = [0.3253927, 0.6746073]

第一行代码返回:55388.71 第二行代码返回:58739.76

非常感谢!我确定这是次要的事情,但这让我发疯了!

1 个答案:

答案 0 :(得分:1)

检查您对weighted.mean的使用

参数weights应该为w

weighted.mean(x = dataset$A[rows], w = weights)应该给您您想要的东西。

在调用函数时,可以通过使用?weighted.mean

阅读函数文档来确保使用正确的变量名。