ベクター広告の標準偏差をすばやく取得できる関数を使用して、ベクターに要素の重みを含めることができるようにしたいと考えました。すなわち
sd(c(1,2,3)) #weights all equal 1
#[1] 1
sd(c(1,2,3,3,3)) #weights equal 1,1,3 respectively
#[1] 0.8944272
加重平均については、たとえばwt.mean()
から使用できますlibrary(SDMTools)
> mean(c(1,2,3))
[1] 2
> wt.mean(c(1,2,3),c(1,1,1))
[1] 2
>
> mean(c(1,2,3,3,3))
[1] 2.4
> wt.mean(c(1,2,3),c(1,1,3))
[1] 2.4
しかし、wt.sd
関数は私が望んでいたものを提供していないようです:
> sd(c(1,2,3))
[1] 1
> wt.sd(c(1,2,3),c(1,1,1))
[1] 1
> sd(c(1,2,3,3,3))
[1] 0.8944272
> wt.sd(c(1,2,3),c(1,1,3))
[1] 1.069045
0.8944272
私はweighted から返される関数を期待していますsd
。できれば、次のような data.frame でこれを使用します。
data.frame(x=c(1,2,3),w=c(1,1,3))