<<目次へ


分散と標準偏差を求める


 分散を求める公式は次のとおりです(標準偏差は分散の平方根です)。


 今回は特に新しく覚えることはありません。今までの復習を兼ねてソースコードを書いてみてください。



-プログラム例

@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