今までのスクリプトは,平均値だけを求めていたが,分散も求めることにしよう。分散は
     Σ(観察データ − 平均値)^2
    −−−−−−−−−−−−−−−−−
              データの個数
の計算式で求める(不偏分散ではないことに注意)。

 スクリプトは以下のようになる。


#!/usr/local/bin/gawk -f

{
	data[FNR] = $0
}

END {

	for (i = 1; i <= FNR; i++) {
		mean += data[i]
	}
	mean /= FNR

	for (i = 1; i <= FNR; i++) {
		variance += (data[i]-mean)^2
	}
	variance /= FNR

	print "N =", FNR
	print "Mean =", mean
	print "Variance =", variance
}

 Σ(観察データ − 平均値)^2 は,
	for (i = 1; i <= FNR; i++) {
		variance += (data[i]-mean)^2
	}
の部分で計算し,その後,variance /= FNR で「データの個数で割る」処理を行っている。
●前へ戻る   ●次へ進む
Last modified: May 15, 2002

E-mail to Shigenobu AOKI