gpt4 book ai didi

r - 加权平均符号 - 在 R 中调整权重

转载 作者:行者123 更新时间:2023-12-02 01:52:53 26 4
gpt4 key购买 nike

我正在尝试使用以下形式计算 R 中统计样本(向量)的加权平均值:

form

该函数接受一个向量,并根据第二个参数 (1 - 3) 调整权重,它们是:

weights

其中 s 是标准偏差。

如果参数是 1 或 3,我已经使用 else-if 相应地调整了权重,但是我在第二个参数上遇到了问题,因为有一些标准要满足。 .

我一直在计算 X - xBar 作为向量:m = x-mean(x)

我一直在用 R 函数计算 s:s = sd(x)

我的问题是关于如何在第二个标准中对“条件的满足进行编程”。到目前为止,我对每个条件都有一个 if,但是......

计算加权平均时,(以最上面的为例)x向量的每个元素(m/s)是否需要小于1?还是我需要测试每个元素并相应地从 3 个条件中分配权重?

例如。如果第一个元素答案小于 1,则赋予权重或 1,但第二个元素答案介于 1 和 2 之间,则为其赋予权重 0.5?

我希望这是有道理的。在 R 中,它会抛出一条警告消息,说明逻辑仅比较向量的第一个元素……这就是问题所在。

提前致谢。

最佳答案

为了在保持合理效率的同时避免警告消息,您可能希望使用 ifelse 而不是 ifelse,也许在类似

m <- mean(x)
s <- sd(x)
absstandardx <- abs( (x - m) / s )
w2 <- ifelse( absstandardx < 1, 1, ifelse( absstandardx < 2, 0.5, 0 ) )
weightedmean2 <- sum(w2 * x) / sum(w2)

关于r - 加权平均符号 - 在 R 中调整权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21742755/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com