2.1データ |
2.2目的 |
2.3注意事項 |
2.4問題 |
2.5度数分布表の作り方 |
2.6度数分布表による平均や標準偏差の求め方 |
2.7予習課題と予習箇所 |
2.8平方根の手計算の方法 |
2.9 統計ソフト SAS を用いた度数分布表やヒストグラムの作成手順 |
2.10 統計ソフト SPSS を用いた度数分布表やヒストグラムの作成手順 |
このページは、平成14年6月1日に開設しました。
このページは、令和2年5月6日に一部更新しました
第1章では、A 大学心理学科1年生全員の身長のデータからランダムに10個の標本 を選び出し、少数データにおける平均、分散、標準偏差、不偏分散を求める方法を 学んだ。ここで、これらの計算の前提として、ある性質が仮定されていたことを再確認 しておこう。
さて、第1章におけるような少数データの場合ではなく、標本数が大きくなると、そ こで学習した計算方法では卓上計算機を用いても、計算の労力は大変なものとなる。 ただし、パソコンやワークステーションを用いれば、そこでの方法を用いても瞬時に これらの値を計算できるが、ここでは 度数分布表 (frequency table) の考え方を理解する目的で、まず筆算による方法を考えよう。
このような場合における平均、標準偏差などを計算するためには、大標本のデータを 少数の階級に分け、度数分布表を作成するのが便利である。 後半では、国際的な統計ソフト SAS を用いた度数分布表等を作成するプログラムの 実行の手順を示す。
A 大学文学部心理学科1年生全員の身長データ
|
当日配布の標本数 N は100である。
大標本のデータを一定の幅を持った幾つかの少数の階級に分け、データの 度数分布 (frequency distribution) の大域的な特徴を掴むと同時に、級分けされたデータの平均と標準偏差を求める
なし
手計算で、大標本のデータについて度数分布表を作成し平均と標準偏差を求めよ
(2.1) |
(2.2) |
(2.3) |
ここで、y 1 、y 2 、... 、y s は、s 個の階級の階級値とする。
例
31 | 30 | 00 | 00 |
ここで、小数点の位置から右側の2桁ごとの区切りは、上の例のように3つ設けること 。その理由は、開平を少数第3位まで求め、第3位を四捨五入して少数第2位までを 解とするためである。
5 . --------------------- | 31 | 30 | 00 | 00 |
ここで、上の例のように、もとの数字の小数点の位置にあたるところに小数点を加えて おく。この位置は、たまたま上の例では左端から見て最初の区切りであっただけで、い つもこの位置であるというわけではないことに注意せよ。もし、もとの数 字が 31.3 ではなく、131.3 であると、桁の区切りは
. ------------------------- | 1 | 31 | 30 | 00 | 00 |
となるので、上に示したように、小数点の位置は 31 と 30 のあいだにな る。
5 . --------------------- 5 | 31 | 30 | 00 | 00 | +5 10
5 . --------------------- 5 | 31 | 30 | 00 | 00 | +5 -| 25 | 10 6
5 . --------------------- 5 | 31 | 30 | 00 | 00 | +5 -| 25 | 10 6 30
5 . x 5 . 5 --------------------- -------------------------- 5 | 31 | 30 | 00 | 00 | 5 | 31 | 30 | 00 | 00 | +5 -| 25 | --> +5 -| 25 | -------------- -------------- 10x 6 30 105 6 30
5 . 5 --------------------- 5 | 31 | 30 | 00 | 00 | +5 -| 25 | -------------- 105 6 30 +5 -------------- 110
5 . 5 --------------------- 5 | 31 | 30 | 00 | 00 | +5 -| 25 | -------------- 105 6 30 +5 -| 5 25 -------------- 110 1 05
5 . 5 y --------------------- 5 | 31 | 30 | 00 | 00 | +5 -| 25 | -------------- 105 6 30 +5 -| 5 25 ------------------ 110y 1 05 00
2.9.1データ例 |
2.9.2出力結果の例 |
2.9.3SAS プログラムの例 |
2.9.4SAS による具体的手順 |
これまで、手計算による度数分布表の作成方法について述べてきたが、サンプル数 が大きくなると、度数分布表の作成にはたいへんな手間がかかる。このような作業は 本来人間には向かない。原理さえわかれば、諸君は今や度数分布を手計算でやる時代 ではない。以下の例は、国際的な統計ソフト SAS を用いた度数分布やヒストグラムの 作成手順を示す。本学では、現在情報処理教育センター(ecip)、文学部 IT センター 等に SAS がインストールされており、両センターに登録して、1年生のうちから徐 々に統計ソフトの使い方になれてほしい。
両センターでは、SAS のインストールの方式が異なり、若干使い方が異なるので 注意されたい。ecip では、授業時間帯以外にフリーで使える部屋として第1から 第4クライアント室があり、すべてのパソコンに SAS がインストールされている。
ただし、学生諸君はまず第1クライアント室に行き、入り口近くの事務員に どこで使えるか聞き、指示を受けること。
これに対して、IT センター では文学部サブドメインのあるサーバに SAS が インストールされているだけで、個々のパソコンには SAS はインストールされて いない。いわゆるネットワークドライブとして SAS が使える環境が用意されてい る。現時点では、3105 教室の50台のパソコン、及び 3353 教室の30台の情報 コンセント口環境につないだ場合のノートパソコン上で学生・院生に開放されて いる。
ここでは、定量的変数の場合の度数分布とそのヒストグラム(棒グラフ)を 作成したり、その他の基礎集計を行うための SAS プログラムを紹介する。SAS を 実行する手順を示す前に、ここで利用するデータと出力結果、及びそのための SAS プログラムを紹介する。
データ は、 藤井 (1983) が収集した50名の被験者の筆跡と性格に関するものである。概要に ついては、筆者のホームページ中の講義ノート「データ解析/基礎と応用」の中の 1.2 節 定量変数の度数分布 と ...を参照のこと。
以下のヒストグラムは、後続の SAS プログラムの一部となっている chart プロシジャによって描かれたものである。詳細は、上記 1.2 節の中の 1.2.1 節を参照のこと。
histograms for INV scales 度数 | ***** | ***** 15 + ***** ***** | ***** ***** | ***** ***** | ***** ***** | ***** ***** 10 + ***** ***** | ***** ***** | ***** ***** ***** | ***** ***** ***** | ***** ***** ***** 5 + ***** ***** ***** ***** | ***** ***** ***** ***** | ***** ***** ***** ***** ***** | ***** ***** ***** ***** ***** | ***** ***** ***** ***** ***** ***** ***** ---------------------------------------------------------------------------- 0 3 6 9 12 15 18 INV循環性 histograms for INV scales 度数 | ***** 10 + ***** ***** ***** | ***** ***** ***** | ***** ***** ***** | ***** ***** ***** | ***** ***** ***** ***** ***** 5 + ***** ***** ***** ***** ***** ***** | ***** ***** ***** ***** ***** ***** | ***** ***** ***** ***** ***** ***** | ***** ***** ***** ***** ***** ***** ***** | ***** ***** ***** ***** ***** ***** ***** ---------------------------------------------------------------------------- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 INV粘着性 histograms for INV scales |
上記のような出力結果を手にするためには、SAS の場合、まず藤井データに変数 情報等を付けて特定のフォルダに保存しておくと便利である。そのようなファイル は、SAS では「永久 SAS ファイル」と呼ばれる。以下には、そのための SAS プロ グラムを示した。
まず、最初の数行(最初の * で始まる行から、セミコロン ; で終わる行まで)
は SAS ではコメント行の1つで、プログラムの実行には何ら関係がないもので、
当該プログラムに関するコメントを記述するためのものであり、無くてもかまわ
ない。
つぎの filename 文では、分析すべきデータ(原則的にはテキスト形式)が
ワークステーションやパソコンのどこに何という名前で(ファイル名で)保存さ
れているかを指示するためのものである。この例は、UNIX ワークステーション
のファイルを指しており、多くのユーザーの場合には、下方の手順のところに
指示したパソコンのそれ(どのような環境で使うかにより、さらに異なる)に
変更する必要がある。
つぎの libname 文では、永久 SAS ファイルをどこに(どのディレクトリある
いはフォルダに)保存するかを指示するためのものである。この例は、やはり
UNIX ワークステーションの場合の例を示してあり、多くのユーザの場合、下方の
手順のところに指示したパソコンのそれに変更する必要がある。
*---------------------------------------------------------------------* | October 15, 1998 | | sas program--perm_fuj.sas-- | | a sas program for making a second sas permanent file of Fujii | | data. This data is a part of the Fujii (79p103, Utsumi Fujii) | | and the variable, code, means the type number of the Y-G test. | | To be precise, values of the code, 1, 2, 3, 4, 5 indicate | | types A, B, C, D, E, of the test, respectively. | | | | file name: $HOME/sasprog/multivar/perm_fuj.sas | | | *---------------------------------------------------------------------*; filename fujii '$HOME/educdata/analyst/p79103uf'; libname sasfile '$HOME/sasset/others'; data sasfile.fujii; infile fujii; input ssno 2. +2 code 1. +5 (inv1-inv5) (2.)///; label ssno='sample number' code='type number of the Y-G test' inv1='INV循環性' inv2='INV粘着性' inv3='INV分裂性' inv4='INVヒステリー' inv5='INV神経質'; run; options pagesize=60; title '藤井筆跡評定データ'; proc print data=sasfile.fujii n; run; |
つぎの infile 文で SAS は(上記 filename 文で指示された)データのある
場所を見に行き、input 文で上記
データ(のうちの1人分の4行からなるデータ)に対して一行づつ左端から
分析に必要なデータに変数名と書式(何行目に何カラム使いデータが入力されて
いるかの情報で、SAS の約束に従って記述する必要がある)をペアで指示する。
変数名には8文字(バイト)以内の英数字(で特別なものは除く)を充てる必要
がある。スラッシュ記号は、行変えを指示する。また +n は、その位置から n
行読み飛ばすことを指示する。添字変数(例えば、inv1, inv2 のような最後に
数字が付く変数)については、inv1-inv5 のようにして、inv1 から inv5 まで
の変数を短縮形で書くことができる。このような場合、例にあるように書式も
まとめて短縮形で表示できる
つぎの label 文では、input 文でつけた変数に対して 20バイト以内のラベル
をつけることができる。このラベルをつけると、当該変数に関する出力時に、
そのラベルまで出力してくれるので、出力結果が見やすい。ただし、label 文
は必ずしも必要ではない。
最後の proc print で始まる3行は、上記までのプログラムで作成された永久
SAS ファイルを、SAS の標準ウインドウ、すなわち output ウインドウに表示さ
せるためのプロシジャである。
SAS プログラムの基本的な約束事に関しては、筆者の講義ノートの中の「データ 解析/基礎と応用」の 目次 の下方の「付録 SAS プログラムの作成」の項を参照されたい。
一旦、上記のような永久 SAS ファイルが特定のフォルダに作成されたなら ば、我々は、以下のような数行の SAS プログラムによりいろいろな基礎集計 を求めることができる。下記のプログラムのうち、上述のようなヒストグラム を出力するための部分は、proc chart ... 以下の3行に過ぎない。
*--------------------------------------------------------------* | October 15, 1998 | | | | file name: $HOME/saaprog/multivar/base_ex1.sas | | | | sas program for computing histograms, testing normality, | | and computing Pearson's product-moment correlation coeffic- | | ient. | | | *--------------------------------------------------------------*; libname sasfile '$HOME/sasset/others'; options pagesize=30 ls=80; title 'histograms for INV scales'; proc chart data=sasfile.fujii; vbar inv1-inv5; run; options pagesize=60 ls=80; title 'test for normality'; proc univariate data=sasfile.fujii normal; var inv1-inv5; run; title 'correlation and it''s test'; proc corr data=sasfile.fujii; var inv1-inv5; run; options pagesize=30 ls=80; title 'scatter diagram'; proc plot data=sasfile.fujii; plot inv2*inv1 inv5*inv3; run; |
ここで、以下の手順中にクリックにより示す画像は すべてビットマップファイルなので、ブラウザーによっては対応していないものも あるので注意されたい:
filename 文と、libname 文の引用符の中をそれぞれ次のように修正する:
filename 文:
p:\psyphy\chino\psycstat\Report\自分の学籍番号\data\p79103uf.txt
libname 文:
p:\psyphy\chino\psycstat\Report\自分の学籍番号\permfile
修正手順は、上記 perm_fuj.sas と同様であるので詳細は 省略する。以下に修正後の SAS 画面上でのbase_ex1.sas プログラム を示す
p:\psyphy\chino\psycstat\Report\自分の学籍番号\permfile
最初に、IT センターでのログイン時のデスクトップ画面を見てみよう。 この画面からわかる ように、IT センターでのログイン時のデスクトップ画面には SAS のショート カットが用意されているので、SAS の起動にはこれをダブルクリックすればよい ことに注意せよ。
ただし、IT センターでの P ドライブは ecip のそれと異なり学生個人用のフォルダである点が、ecip の Report フォルダのような授業用フォルダとは異なる点である。
そこで、はじめて P ドライブを利用しようとするユーザは、つぎの手順に進む必 要がある。
実行には、まず SAS を起動(ecip の場合と異なり、デスクトップ上の SAS のショートカットをダブルクリックすればよい)する。すると、 つぎ のような SAS の初期画面が現れる。そこで、まず、この画面の右下の「 エディタ」画面の右端上端の最大化ボタン(画面上に表示されていることに注 意)を一回クリックし、(プログラム)エディタ画面を画面全体に広げよう。 そのうえで、エディタ画面上部の PMENU から、「ファイル」-> 「開く」と選 択し、sasprog フォルダに既に保存した上記2つを、順に開いては修正し実行 する。もちろん、ecip でと同様、1つ開いて修正し実行し結果がアウトプット ウインドウに出力されたならば、それを sasout なるフォルダに拡張子 .lst として保存し、それが終了したら、つぎのプログラムを同様の手順で修正・ 実行し保存する。
(註)この場合、ecip の場合と異なり、
とする
脚注1 : 通し番号は新1年生は学籍番号の下3桁、それ以外 の学生は第1回目の授業の時決められものを用いること
脚注2 : 小数点は、同一列内の数字 3 と 8 をダブルマークせよ