ベクトルの標準偏差がすぐにわかる関数を使用して、ベクトルの要素に重みを含めることができます。即ち、重み付け手段について重み付きの標準偏差
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
Iはlibrary(SDMTools)
例えばからwt.mean()
を使用することができ
> 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
加重私から0.8944272
を返す関数を期待してい
> 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
。好ましくは私のようなdata.frameでこれを使用して次のようになります。あなたはその重みに応じて値を複製するrep
を使用することができます
data.frame(x=c(1,2,3),w=c(1,1,3))
「SDMTools :: wt.var」のドキュメントに注意してください。「wt.varは、GNU Scentific Libraryの方程式を使用した加重平均計算の不偏分散です。 – Roland