首页 > 解决方案 > 编码加权平均值 (R)

问题描述

我的一段代码有问题。我想执行加权平均值,但如果我自己计算加权平均值,我得到的值不是我得到的值。

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

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

变量是“dataset$A”,我用于加权平均值的行列在“rows”中(有 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

太感谢了!我确信这是一件小事,但它让我发疯了!

标签: rweighted-average

解决方案


检查您的使用weighted.mean

论据weights应该是w

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

调用函数时,您可以通过阅读函数的文档来确保使用正确的变量名?weighted.mean


推荐阅读