4日目おまけ(技術的に特殊な内容なので授業では取り上げません)

データの入力

1 コンピュータによるデータ入力

(1) コンピュータ利用の利点

 コンピュータが大がかりな機械装置で莫大な導入費用を要した時代には,その利用は一般的でなかったので,社会調査データの集計方法としては手集計を学んだものである。手集計にはいろいろな方法があり,調査結果を一覧表にして集計するアセンブリ・シート法や,データを転記した葉書大のカードを用いるカード法や,カードの周囲にパンチ穴を開けたものを針金の棒を用いて操作するホール・ソート法などが用いられた。しかし,今日では,パーソナル・コンピュータ(PC)の能力向上と価格低下及びその普及により,手集計は使われなくなった。本節では,PC を利用する方法を解説する。
 コンピュータ利用の利点は,処理速度が早いこと,データの変換を簡単に行えることが挙げられる。例えば,年齢を満年齢で調べてそのまま入力すれば,必要によって,年齢階級への再区分 recode が簡単にできる。また,複数の変数を組み合わせて新しい変数を作ったり,特定の条件のみを満たすケースだけを選び出して分析することも容易である。したがって,質問紙を作成する場合でも,異なる水準の尺度で測定できる変数については,なるべく水準の高い尺度にしておくと分析方法の選択幅が広がる。また,世帯の家族類型のような変数では,同居している家族の続柄だけを調べておけば,後でいかような家族類型でも作成できる。

(2) データ・マトリックス

 統計分析専用に用いられる PC 用のソフトウェアには,国際的に広く利用されている SASや  SPSSがある。これらのソフトウエアを操作するには,かつては,英語のコマンドを学習しなければならなかった。しかし,今日では,日本語仕様となり,必要なオプションをコンピューター画面からマウスでクリックする簡単な操作で利用できるようになっているので,特別な訓練は必要でなくなった。この他にも,日本で開発された各種の社会調査専用ソフトウェアがある。社会調査専用ではないが,データ処理に使われるポピュラーなものに LOTUS 1-2-3 とか Microsoft Excel などの表計算ソフトも利用できる。
 どのソフトウェアでも共通のデータ形式が用いられており,データ・マトリクスないしケース変数マトリクスと呼ばれる形に作成する。行 row にケースをとり,列 column に変数をとって,行と列の交差する場所に該当ケースの変数の値 value を入力することにより,長方形のデータ行列が作成される。このようにして作成されたデータのひとまとまりをデータ・セットともいう。そのイメージを示すと,表 1 の通りである。

表1 データ・マトリクスのイメージ

  変数

ケース

ケースID

年齢

家族類型

健康状態

年間収入

要介護度

1

0001

67

夫婦のみ

大変良い

350万円

介護不要

2

0002

85

単身

悪い

200万円

中度

n

 このような形のマトリックスが作成できるデータであれば,質問紙調査によるデータばかりでなく,既存の統計資料から把握できるデータであっても本質は同じである。市町村をケース(分析単位)とし,老年人口,老人福祉施設定員,ホームヘルパー数,老人福祉予算などの変数について複数の統計書類からそれらの数値を調べてデータ・マトリクスを作成し,市町村老人福祉の統計分析を行うことなどがその例である。

(3) コーディング

 コンピュータ分析に限らないが,社会調査データを効率よく集計するには,回答をアルファベットや数字などの簡単なコードに置き換える必要がある。コンピュータ分析の場合は,男を1,女を2とするなど,数字コードを用いるのが一般である。この作業をコーディングという。選択肢に始めからコードがふられている質問をプリ・コーデッド質問という。これに対して,コードがふられていない質問では,調査が終わった後でコードを与えるので,この作業をアフター・コーディングという。特に,自由回答法による質問では,記入された回答を分類してコード化を行う作業が必要である。サンプル数が数百とか数千におよぶ自由回答を全部点検して分類するのは非効率であるから,無作為に取り出した 50 ないし 100 程度の回答を検討して,暫定的な分類カテゴリー設定した後ですべてのサンプルについてコーディングを行う。どの分類にも当てはまらない回答が出てくると,分類カテゴリーを追加するのだが,これらの分類カテゴリーの定義を厳密に規定して文書化し,コーディングのガイドとして用いるようにする。作業をする人によって定義が揺れ動いたのでは,そのデータは無意味になってしまう。

 表 1 のデータ・マトリックスをコード化すると,表 2 のようになる。この表では,年齢と年間収入はデータの数値をそのままコードとしているが,性別,家族類型,要介護度は 1,2,3 等の数字コードに置き換えられている。この例では,性別(男=1,女=2),家族類型(単身=1,夫婦のみ=2,子と同居=3),健康状態(大変良い=5,やや良い=4,普通=3,やや悪い=2,悪い=1),要介護度(重度=4,中度=3,軽度=2,介護不要=1)のコード番号がふられているのである。無回答にはすべての変数に同じコードを与えると取り扱いが便利であるため, 無回答のコードを 0 とすることが多い。無回答と非該当を分けたい場合は,無回答を 8 とし,非該当を 9 とする。8 ない 9 を用いるのは,選択肢の数が 7 以下の調査項目が多いからである。選択肢数が2桁となる場合は,88 ないし 99 を使う。後で重大な混乱が起こらないように,変数の値とコード番号対応表を作成しておかなければならない。この対応表のことを,コード・ブックという。

 ソフトウェアによっては,データの読みとりや分析を行うために変数を記号で表す必要がある。この例では,CASEID, SEX など変数の意味を表す名前を付けたが,英数字半角 8 文字以内であれば任意に定めてよく,V1, V2などの番後を用いることも多い。変数名もコード・ブックに記入すべき事項である。

表2 コード化されたデータ・マトリクス

 変数ケース

ケースIDCASEID

SEX

年齢AGE

家族類型FAMILY

健康状態HEALTH

年間収入INCOME

要介護度CARENEED

1

0001

2

 67

2

5

350

1

2

0002

1

100

1

1

200

3

n

(4) 固定書式と自由書式

 ワープロ・ソフトやエディタ・ソフトを用いてデータ・セットを直接作成することもできる。この場合注意するのは固定書式 fixed format と自由書式 free format の区別である。固定書式とは,一つ変数に割り当てるデータの桁数を固定幅にしたもので,固定長データともいう。自由書式は桁数を固定しないかわりに変数と変数の間を半角のコンマ(,)で区切るものである。自由書式,固定書式のどちらにも対応している統計分析ソフトが多い。例えば,年齢を入力する場合,調査対象者のうち最も年齢の高い者が 100 歳以上である場合には年齢のためのデータの幅を3桁とする。なお,この桁数のことをカラム数と英語で呼ぶことが多い。こうすると,すべてのケースで年齢は3カラム分の幅で入力されるので,年齢が1桁ないし2桁のケースでは左側に空白を設け,右端をそろえて入力する。固定書式では,コード・ブックに各変数の占める位置のカラム番号を記入しておく。自由書式の場合は,桁数をそろえる必要がないが,先に述べたように変数と変数の間をコンマで区切らなければならない。

 表 2 のデータ・マトリクスのケース1とケース2を

固定書式で入力すると,

00012 6725 3501

0002110011 2003

となる。年齢は3カラム,年間収入は4カラムの幅で入力されている。

自由書式で入力すると,

0001,2,67,2,5,350,1

0002,1,100,1,1,200,3

となる。

 この1行に並んだデータのひとまとまりをレコードといい,その長さをレコード長 record length という。固定書式では,レコード長はすべてのケースで等しいが,自由書式ではレコード長はケースによって異なる。

 しかし,こうした方法では,誤入力があった場合の訂正が極めて煩雑である。統計分析専用のソフトウェアは,表計算ソフトで作成されたデータを読みとる機能を持っていることが多いので,表計算ソフトを用いる方が効率がよい。また,統計分析ソフト自身がデータ入力機能をもつよう改良されてきたので,固定書式と自由書式の区別を気にしなくてもよい場合が多い。なお,ワープロ・ソフトで作成した場合は,そのデータ・ファイルを MS-DOS の標準テキスト形式で保存すれば,あらゆる統計分析ソフトでデータを読みとれるようになる。

2 データの読みとりと処理

(1) データの読みとり

 コンピュータに入力されたデータがファイルとして保存されると,そのファイルをオープンし読みとる準備ができたことになる。データ読みとりの方法はソフトウェアによって異なるから,用いるソフトウェアの使用法に習熟する必要がある。もっとも簡単なのは Lotus 1-2-3 や Microsoft Execl のような表計算ソフトであり,これはもともとコンピュータ画面上のスプレッド・シートに直接入力し,かつ,そのシートを直接操作するので読みとりの手順は不必要である。しかし,社会調査データように大量のケースの集計に向いていない。

 SPSS のような調査統計専用のソフトでも,表計算ソフトによく似たデータ入力ツールを備えるようになってきたので,データ読みとりのための特別な手続きが不要になってきた。しかし,共同研究などでデータ・ファイルデータ・ファイルだけを受け取って分析を行う場合には,データ読みとりの手順に関する知識がなければならない。これは,使用するソフトウェアによって異なるが,よく使われる SPSS の場合は,表 2 を用いて説明すると,つぎのようなコマンドでデータが読み込まれる.

固定書式で入力されている場合

DATA LIST FILE="[データ・ファイル名]"/FIXED CASEID 1-4 SEX 5

 AGE 6-8 FAMILY 9 HEALTH 10 INCOME 11-14 CARENEED 15

自由書式で入力されている場合

DATA LIST FILE="[データ・ファイル名]"/FREE CASEID SEX AGE FAMILY

 HEALTH INCOME

 CARENEED

表計算ソフトで入力されている場合

 DATA LIST FILE="[データ・ファイル名]"/FIXED CASEID 1-4 SEX 5 AGE 6-8 FAMILY 9 HEALTH 10 INCOME 11-14 CARENEED 15

 

 DATA LIST コマンドは,「FILE="[データ・ファイル名] "で指定されたファイルに変数の値が右の順序で入力されているので読みとれ」,という命令をコンピュータに与えるものである。固定書式の場合に,CASEID 1-4 などとなっている部分は,ケース番号はレコードの左端 1 番から 4 番までのカラムに格納されている,という意味である。自由書式やデータをコンマで区切って入力しているのでカラムの指定は不必要であり,変数の順序だけを指定すればよい。

 

3 データ・クリーニング

 データ入力が終わると,誤入力の訂正作業を行う。誤入力は,入力時点で極力避けるようにすることは当然であるが,気づかずに間違って入力していることがある。また,質問紙の回答どおりに正しく入力したにも関わらず,性別で男1,女2以外に5とか7などあり得ないコードが入力されていることもある。これは,エディティングやコーディングのミスであるので,原票に戻って確かめねばならない。こうした訂正作業を,データ・クリーニングという。

(1) 不可能コードのクリーニング

 これは,データ・セットのすべての変数について回答の単純集計を行い,回答としてあり得ないコードが入力されていないかどうかを調べて訂正するものである。特定の変数であり得ないコードが出てきたら,そのコードが入力されているケースの ID を調べて,原票に戻って訂正する。例えば,65 歳以上高齢者の調査をしているのに,全ケースの年齢を打ち出したところ,46 とか 13 などあり得ないコードを持つケースがあったとする。そこで,年齢が 65 未満となっているケースの ID 番号を打ち出させてケースを突き止め,そのケースの正確なデータを調べてデータ・セットを訂正するのである。

 この方法の欠点は,正当な回答の範囲内のコードである限りは,間違いを発見することができないことである。例えば,65 と 98 はキーボードの数字キーが近い場所にあるので間違えやすい。しかし,65 以上である限りは不可能コードではないので,間違いとして検出できない。この欠点をカバーする方法はない。いかに優れた調査設計や実査を行っても,入力が間違っていれば苦労も水の泡であるので,くれぐれも入力時点での確かめを入念に行うことが重要である。

(2) 連関クリーニング

 男女を対象とした調査のなかで,女子だけとか男子だけに質問する項目が含まれることがある。このように,ある質問が他の質問と連関しているとき,答えるべきでない者が回答していることがある。誤入力によることもあるし,回答者の勘違いによるものもあろう。入力機能をもつ統計分析ソフトでは,こうしたことが起こらないようあらかじめ条件を設定できるものがあるが,そうでない場合は,連関する質問同士のクロス集計を行って,答えるべきでないものが答えていないかどうかを割り出す必要がある。これを連関クリーニングという。ソフトウェアによっては,IF−THEN(IF 以下の条件が真ならば,THEN 以下のようにせよ)構文によって,この作業を行うことになる。