前へ次へ検索RSSFeedlyホーム>プログラミングRで学ぶ統計学(相対度数分布表・ヒストグラム)2019年10月29日TwitterFacebookB!HatenaLINELINER言語を用いて、実践的に統計学を解説します。今回は一つの変数を、視覚的に表現する方法として、度数分布表とヒストグラムについて学びます。基本から統計とプログラミングを学ぶ!統計ソフトRで、統計学を勉強しながら、Rプログラミングの練習をしてみましょう。例を出して説明していきましょう。以下のような30人分の数学のテストのデータがあったとします。58このデータを使って、度数分布表を作成してみると以下のようになります。1階級とか度数とか知らない単語もあるかもしれません。この具体例をもとに解説します。interval)とはデータを区切る区間のこと。階級の最小値を下限といい、最大値を上限という。階級値(midpoint)とは階級の中間の値。70未満」の階級だったら、60と70の平均値である65が階級値となる。度数(frequency)とは階級ごとのデータ数のこと。70未満」の行の度数は10だが、このとき60点以上70点未満の点数の人が10人いる。相対度数とは先程の度数分布表を用いれば、どの階級にどれだけのデータがあるかがすぐにわかります。30人のAクラスのテストと、50人のCクラスのテスト結果を比べたいときを考えてみましょう。人数がことなるので、このままでは両者を単純に比べることはできません。資料全体に対する度数の割合のことを相対度数といいます。\(相対度数=\frac{度数の値}{度数の合計値}\)という計算で得られます。相対度数を先程の度数分布表に書き込むことで、相対度数分布表と呼ばれるものを書くことができます。相対度数分布表を用いれば、人数のことなるクラス同士も比較することが可能です。先程のデータを使って、相対度数分布表を作ると以下のようになります。累積相対度数という単語が新しく出てきました。累積相対度数とは、小さい方から相対度数を足していった数で、最終的に1になります。ヒストグラム度数分布表や相対度数分布表だけでもデータの散らばりを分かりやすく表示できています。ひと目見ただけでもっとデータの分布がわかるグラフがあります。それがヒストグラムです。先程のデータを用いて、以下のようなヒストグラムを実際に作ってみました。このように、度数分布表を柱状グラフにして表現したものをヒストグラムといいます。ヒストグラムを描いてみると、どの階級の度数が多いのか、データの散らばりはどのようになっているのか、などのデータの特徴がひと目でわかります。1変数のデータに関しては、上記のようにヒストグラムを描いてみると良いでしょう。これでは先程の相対度数の話を活かせていません。相対度数分布表は、データ数が異なる度数分布表同士を比較するために作られたのでした。データ数が異なるヒストグラム同士を簡単に比較できるようにするにはどうしたら良いでしょうか?答えは「ヒストグラムの合計面積が常に1になるようにする」です。実際に先程のグラフを描き替えてみます。縦軸は度数のかわりに確率となります。ある点数が出現する確率を表しているのです。上のグラフではそれぞれの長方形の横幅は10あります。それぞれの長方形の面積を足していくとだいたい1になることを上の図を見て確認してください。実は縦の目盛りが変わっただけで、グラフ自体の形は先程のヒストグラムとほとんど変わりません。このようなグラフを相対度数分布グラフといい、各階級の長方形の面積が相対度数の値に一致します。実際に30以上40未満の階級について確認してみましょう。長方形の横幅は10、縦の長さは0.010、相対度数は0.1です。相対度数(0.1)\]となり、面積が相対度数の値に一致してることが示されます。Rで実践データの準備まずは今回使うデータを変数に格納しましょう。先ほど統計の理論を解説したときに使ったデータを使います。30人分の数学のテストの点数です。58ヒストグラム残念ながら、Rで相対分布表を簡単には表示することはできません。ヒストグラムならすぐに表示することができます。hist()を使えば、ベクトルを引数に渡すだけで、ヒストグラムを表示してくれるのです。hist(math_test)以上のようにヒストグラムが描画されました。これだけでは少し味気ないので、少しグラフを変えてみましょう。引数に、col="blue"を加えるとグラフが青色になります。col="blue")相対度数分布グラフを描いてみましょう。freq=FALSEを加えると、相対度数分布グラフになります。これは、度数を表すfrequencyを縦軸に使わず、かわりにdensityを使うということです。freq=FALSE)hist()で使える引数のうち、代表的なものをいくつかご紹介します。自分で色々と試してみてください。グラフにしたいならFALSE(F)にする。なにも指定しないとTRUE(T)で表示される。ヒストグラムの長方形を何の色で塗るかを指定する。“white"などで指定したり、"#0000ff"(青色)などのカラーコードで指定したりできる。デフォルトではNULLの設定。この場合は何の色でも塗らない。x軸の名前を変更できる。y軸の名前を変更できる。help(hist)と入力してみると、英語でのマニュアルが表示されますので、見てみてください!度数分布表の値を表示する度数分布表は簡単には表示できないと言いましたが、階級や階級値、度数などの値はhist()関数をうまく使うことで求めることができます。次のようにして求めてみましょう。85ここで「$」というものが何度も登場しています。実は、hist()というのはヒストグラムを表示するだけではなく、階級値や度数などを含んだリストを返します。リストというのは、複数の値を一つにまとめておくためのものです。値に名前を着けられること文字と数字など、別のデータ型を持つ値を同時に格納できることなどがあります。今回は、hist(math_test)から出てきたリストに、「break・counts・density・mids」という名前のベクトルが格納されていました。そのベクトルにアクセスするために、「$」という繋ぎの文字を付けたのです。...Rで学ぶ統計学(標準化)R言語を用いて、実践的に統計学を解説します。ご指摘ありがとうございます。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイト上に表示された文字を入力してください。