stats[statplots, histogram] - 統計データのヒストグラム
使い方
stats[statplots, histogram](data, arg=value, ...)
statplots[histogram](data, arg=value, ...)
histogram(data, arg=value, ...)
パラメータ
data - 統計リスト
area=x - ここで x は数、または 記述統計学アイテム
numbars=y - ここで y はゼロより大きい整数
plotoptions - プロットオプション
|
説明
|
|
•
|
コマンド histogram(data1) は、data1 のデータを、同じ面積の棒グラフにします。data1 に含まれる Classes (範囲)は、その重さに比例する箱としてプロットされます。
|
•
|
histogram(data1, data2, ...) のように、1 つ以上の統計リストが指定されると、3 次元のプロットが作られます。各データセットに対して、1 つのヒストグラム作られ、それらが同じグラフにプロットされます。data1 のプロットが一番手前に置かれ、各データ集合がその後ろに続きます。i 番目のデータ集合は、手前から z 軸に沿って i 番目の、z=i 平面にプロットされます。
|
•
|
既定値では、確率ヒストグラムが作られます。:棒全体の面積は 1 です。この値は、area パラメータにより変更できます。;area=10 は、面積が 10 の棒でヒストグラムを与えます。棒の面積をデータの weight と同じにする場合は、area=count を使ってください。
|
•
|
パラメータ numbars= を使うと、データをどのくらい分割するかを指定できます。データが均等に広がっている場合、numbars=y は y 列のヒストグラムを作ります。均等でないデータは、空の列になります。このパラメータが指定されない場合、代表の既定値が選ばれます。
|
•
|
既定値では、棒は、面積は等しいですが、幅は同じではありません。area=... パラメータを使うと、既定値は棒の幅が等しくなるよう、変更されます。
|
•
|
逆に、等しい幅をもつ class を使う場合は、関数 stats[transform, tallyinto] を使い、point データを class データにまとめます。たいていの場合、データを 5 から 20 くらいの間の class にまとめると、うまく行きます。class の境に実際のデータ点を含めないようにしてください。
|
•
|
ヒストグラムを使ってデータを表示するときの不利な点は、その外観が、class の境界の位置により、激しく変わってしまうことです。これは class marks (class の中点)が実際のデータアイテムとなるように選ぶことにより、いくらか小さくなります。例えば、class 1..3 はデータがアイテム 2 を持つときに満たされますが、データがアイテム 2 を持たないときは、満たされません。
|
•
|
コマンド with(stats[statplots]) を実行すると、このコマンドの省略形( statplots )を使用できるようになります。
|
|
|
例
|
|
>
|
with(stats):
with(stats[statplots]):
data1:=[ Weight(1..3, 5), Weight(3..5, 10), Weight(5..7, 8)]:
histogram(data1, color=cyan);
|
ランダムに生成された数
>
|
histogram([random[normald](250)]);
|
少し上級の例です。 data2 は標準正規分布による乱数発生器を使って生成したものです。このヒストグラムと理論的な分布をプロットしたいと思います。
>
|
data2:=
[ -1.96, -.814, 1.86, 1.96, .519, .739, -.0540, .702, .663, .591, .580, .475,
.589, -1.33, .0420, -.460, -.482, 1.58, .778, .530, -.507, -.233, -.195,
.193, -.136];
|
頻度
>
|
histogram(data2, area=count);
|
既定値: 各面積の等しい、確率ヒストグラム
>
|
histogram(data2, color=yellow):
plot(stats[statevalf,pdf,normald], -3..3, color=red):
plots[display]({%,%%});
|
各幅の等しい確率ヒストグラムと、理論分布の重ね描き
>
|
histogram(data2, color=gray, area=1):
plot(stats[statevalf,pdf,normald], -3..3, color=red):
plots[display]({%,%%});
data2classified:=
stats[transform,scaleweight[1/nops(data2)]]( # so that total weight=1
stats[transform,tallyinto](data2,[-3..-1, -1..1, 1..3])):
plots[display]({
statplots[histogram](data2classified),
plot(stats[statevalf,pdf,normald], -3..3, color=red)
});
|
|
|