繁体   English   中英

如何计算大数据的行加权平均值?

[英]How to calculate row weighted mean of big data?

我在下面有一个数据集:

x = 
        BC_aitk90_0-5cm    BC_aitk98_0-5cm   BC_aitk98b_0-5cm    BC_nn_0-5cm
   1:       1.6382072        4.281057         4.607484            15.181894
   2:       2.2413662        5.136081         5.341605            16.192835
   3:       1.0995348        3.881533         3.493945            12.063029
   4:       1.3492518        4.219009         3.818655            13.996832
   5:       2.9033433        6.072661         6.149606            17.826441

我想计算行加权平均值,但我无法获得代码和答案。 我的体重是:

x = 
W = c(0.83, 0.85, 0.87, 0.93)

这里有两个答案:

df = data.frame(a = c(1:3), b= c(4:6))
w = c(0.5,0.3)

wm1 = t(colSums(apply(df,1,function(x) x*w)) / sum(w))

# or

wm2 = apply(df,1,function(x) weighted.mean(x,w))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM