计算不包括当前观察值的平均值
除了目前的观测值,我如何计算均值(或任何其他汇总统计量)?
例如,我有以下数据:
价值类别
1 -
5 -
1
2 -
5 -
1
3 -
9 -
1
4 -
2 -
2
5 -
2 -
2
我想计算每个类别的平均值(egen value_mean = mean(value),by(category)),但排除第i个观察值:例如,对于i = 1,类别1的平均值为5 + 9)/ 2。 对于i = 3,它将是(5 + 5)/ 2。 对于i = 4,这将是2/1。
有各种线程在线匹配我的问题,最接近的是这一个 ,但我不明白的解释,我会需要在Excel中的东西,而不是任何语言。
我的数据范围是整列,到目前为止的公式是这样的:
=AVERAGEIFS(A:A,D:D,D3,E:E,E3,AP:AP,AP3)
但是正如你所看到的,它不排除目前的观察,即A3中的值。
应该有一个简单的解决scheme,任何帮助表示赞赏。
虽然你可以切换到SUMPRODUCT
以便能够创build公式所在的行的明确引用(在SUMIF
不可能),但我可能更喜欢略长一点的:
=(SUMIFS(A:A,D:D,D3,E:E,E3,AP:AP,AP3)-A3)/(COUNTIFS(D:D,D3,E:E,E3,AP:AP,AP3)-1)
这保留了这些function优于SUMPRODUCT
的优点,因为可以参考任意大的范围而不损害性能。
问候