分散と標準偏差を求める
分散を求める公式は次のとおりです(標準偏差は分散の平方根です)。
今回は特に新しく覚えることはありません。今までの復習を兼ねてソースコードを書いてみてください。
-プログラム例
@dat=(1,2,3,4,5,6,7,8,9,10); $n=@dat; $sum=0; for($i=0;$i<10;$i++){ $sum+=$dat[$i]; } $mean=$sum/$n; #分散公式の分子を計算するための繰り返し for($k=0;$k<10;$k++){ $sum2+=($dat[$k]-$mean)**2; } $var=$sum2/($n-1); #分散を代入 $sd=sqrt($var); #標準偏差を代入 print "sum=$sum \n"; print "mean=$mean \n"; print "var=$var \n"; print "sd=$sd";
-出力結果
C:\Perl>perl -cw sample.pl sample.pl syntax OK C:\Perl>sample.pl sum=55 mean=5.5 var=9.16666666666667 sd=3.02765035409749
-Rで確認
> dat<-1:10 > dat [1] 1 2 3 4 5 6 7 8 9 10 > var(dat) [1] 9.166667 > sd(dat) [1] 3.027650