Excelで度数分布表とヒストグラムを作る

Time-stamp: "2014-04-13 Sun 14:07 JST hig"

やりたいこと

度数分布表とは, 多数の実数値からなるデータが与えられたときに, どの値が何回出てくるか, 各区間に入る値が何個出てくるか, を表にしたものです. ヒストグラムはそれをグラフで表現したものです.

ありうるやり方

Excelでこれを行うには,
  1. 分析ツールですべて対話的に行う
  2. frequency配列関数で表を作り, グラフは対話的に描く
  3. countif関数などで手動で表を作り, グラフは対話的に描く
などがありますが, ここでは2を用います. Webで, Excel, frequency, 度数分布, ヒストグラムなどのキーワードで検索するともっと親切な説明のページが見つかるでしょう.

手順

データの準備

Excelのワークシートの1列(縦に連続したセル)にデータを貼り付けます. コマンドプロンプトからコピーする場合はコマンドプロンプト出力のExcelへのペーストが参考になるかも.

区間の設定

別の1列に, 区間を手で(オートフィルなどを利用してもよい)入力します.

このとき, 上端, 下端, 間隔などは, 人間がデータを見て, その意味と知りたいことを考えて決める必要があります

上から, b0<b1<b2<…<bn だとすると, 次で使用するfrequency関数では

データの個数を数えることになります. つまり境界の値は小さい方の区間に属します

frequency配列関数の入力

区間の列よりも1セル分長い列を選択します. F2キーでセルに入力できる状態にします(または数式バー内をクリックします). =frequency(…と入力します.

frequency関数の文法はfrequency(データ配列,区間配列)です. この瞬間がスクリーンショット.

Excelでのfrequency配列関数の使用

配列関数(計算結果が複数のセルに返される関数)なので, 入力した後は, EnterでなくControl+Shift+Enterしないといけません.

将来この部分を修正するときもControl+Shift+Enterする必要があります. 単にEnterだと, 「配列の一部を変更できません」というエラーダイアログが出て, Control+Shift+Enterしないかぎりほとんど何もできなくなってしまいます.

必要に応じて, データのサイズでわって相対度数も計算しましょう.

グラフの描画

区間の列をx座標, 度数や相対度数の列をy座標として, 散布図を描くとヒストグラムになります(ヒストグラムは棒グラフ的に描かれるのが普通ですが, Excelを使用するという制限下では, 散布図でないと横軸の値に自動的には反映させられないので, 折線で妥協しています). 必要と指示に応じて, 度数と相対度数, 必要なものだけ残してください. プログラムの数値の出力をExcelでグラフに描くの後半が参考になるかも.

Excelで散布図を使って描いたヒストグラム

サンプルのExcelファイル

補足

Excelの予備知識の足りない人は Excel2007入門コースを利用しよう.


Copyright © 2011 Saburo Higuchi. All rights reserved.
樋口三郎, http://www.math.ryukoku.ac.jp/~hig/