データファイルの作り方     Last modified: Feb 19, 2004

 ユーザが分析しようとするデータはアンケート調査結果かも知れないし,カルテから抽出された病歴データかもしれない。いずれにせよ,解析しようとするデータはコンピュータで扱えるように,データファイルとして準備されなければならない。また,データファイルは後々の分析に適合するように(物理的にも論理的にも)構成されていなければならない。ここではまず,調査票などによって得られたデータ(原データと呼ぶことにする)をどのようにしてデータファイルとして用意するかについて述べる。

  1. データ入力の原則

     データをコンピュータで分析するためには,コンピュータが理解できる形で,また,分析プログラムが要求する形式でデータファイルを用意してやらなければならない。また,原データが持っている情報と分析プログラムが要求する情報を漏れなく含めなければならない。
     多くの統計プログラムパッケージでは,数値データを扱うのが一般的である。このため,名義尺度変数や順序尺度変数は一定の数値に対応させて入力する必要がある。この対応づけをコーディングと呼ぶ。
     性別とか疾患名のような名義尺度変数の場合には,各カテゴリーに特定の数値を割当てる。数値との対応づけは任意でよい。慣例的なコーディング規則がある場合にはそれに従ったほうが便利であるし,誤解もない。例えば,男を1,女を2として表わすのは最もポピュラーであるが,これは JIS規格で決められているものである。JIS規格ではこの他に,都道府県,市町村,職業,産業を表現するコードが決められている。このようなものの他にも,各分野で慣例的なコード化が行われている場合にはそれに従ったほうがよい。
     治療効果判定や定性的臨床検査データのような順序尺度変数の場合には,与えられた数値が順序関係を保っていなくてはならない。例えば,治療効果の判定が「悪化」,「不変」,「有効」,「著効」と表わされている場合には,それぞれを,-1,0,1,2 という数値に対応させて入力する。この場合,それぞれに 1,2,3,4 という数値を割当ててもかまわない。ある研究者が「悪化というのはかなり厳しく評価しなければならない。また,著効は有効より3倍位に評価しよう」と考えて -5,0,1,3 という数値を割当てたとしよう。もし,この数値の割り当てがある程度の客観性と妥当性を持つならば,間隔尺度変数に対する分析手法が使用できるであろう。しかし,一般的に言えば,このようなやりかたは近似的なものにとどまるであろう。順序尺度変数に対する分析手法が存在していて,その方法で分析しても同じような結果が得られるならば,後者を採用したほうが無難である。
     体重とか身長などのように数値で表される変数については,そのままの数値で入力する。この場合には,測定単位が統一されていなければならない。あるケースは kg,別のケースは g で入力されていては後の分析で困ることになる。
     あらゆる場合に,数値で得られたデータはそのままデータファイルに入力するほうが,後の分析の可能性を広げる。カテゴリー分けはデータの解析時に何度でもどのようにでも行える。

  2. 欠損値について

     アンケート調査データの場合の無回答項目やカルテデータの場合の未検査項目のように,あるケースのある項目の値が欠落している場合がある。ほとんどの統計プログラムパッケージでは,1ケースあたりの変数の個数は等しくなければならないので,データファイルを準備する場合には,データが欠落している場合でもなんらかの数値を入力しておかなければならない。ただし,入力される数値は実際にはデータがなかったことを表しているので,分析対象からはずす必要がある。そのため,他の有効なデータと明らかに区別できる値(欠損値)を入力する。例えば,正の値しか取らない変数には欠損値として負の値を与える。あるいは,通常では出現しないような大きな値を与えるなどが適当であろう(注1)。
     欠損値を持つケースの取り扱いは分析プログラムによって異なるが,通常はそのようなケースを除外して分析が行われる(注2)。欠損値を特別に扱う場合には,分析に先だって適切な処理が必要である(例えば,欠損値を持つケースを除いた平均値で充当するとか,時系列データなら直近のデータ(の平均値)で代用するなど)。

    注1: たとえば,33×1033 (データファイル中では 33E33と表現する。→浮動小数点表記)を欠損値とみなし,集計対象から除外する。
    注2: 多変量解析で用いるデータに欠損値がある場合には,該当するケースは自動的に分析対象から外される(リストワイズ除去)。相関係数行列のみを求める場合には,関与する変数のうち1個でも欠損値があるケースを除外する方法(リストワイズ除去)と,2変数の組合せでいずれか(または両方)の変数が欠損値の場合にのみ,その変数対を除外する方法(ペアワイズ除去)がある。ペアワイズ除去はデータを最大限利用できるが,この方法で得られた相関係数行列を用いて多変量解析を行うのはいろいろな点で問題もある。
  3. データ入力のための準備

     コーディングは原データの収集とデータ入力の仲立ちをする作業である。カルテ調査の場合に,もしカルテを1枚ずつ見ながら必要項目を選び出し,コード化しながらデータ入力するとすれば,作業が繁雑になる上に誤入力も多くなるであろう。データ入力はある意味では単純作業であるが,コーディング作業はそうではない。このような場合には抽出すべき項目を書込むチェックリストを作り,データ入力はチェックリストに基づいて行うようにするとよい。コーディングはデータ入力作業と切り離したほうがよい。

    1. カルテ調査の場合

       チェックリストに転記する場合には,誤入力に注意するのはもちろんであるが,カルテに記載されている解析に必要な情報を漏れなく拾い出す必要がある。定量的臨床検査値を正常,異常だけで入力するのは明らかに重大な情報の損失である。切除された腫瘍の大きさが実際にものさしで測定されているならば,単に大,中,小という順序尺度変数として入力するのでなく,数値をそのまま拾い出すべきである。チェックリストの様式も十分考えておく必要がある。

        カルテ調査の場合のチェックリスト例
                                                                        
         xxxxに関する患者調査   
                                                                                  
          カルテ番号  性別  年齢   身長  体重  疾患名  検査所見1  検査所見2     
                                                                                  
            8904001     1     32  178.1  62.5    2      125.3       24.6     
                                                                                  
            8904007     2     41  153.7  45.7    1      132.6       33.8     
      

       

    2. アンケート調査の場合

       アンケート調査の場合には調査票が前述の例のカルテに相当する。調査票の作成の段階から,後々のデータ入力,データ解析のことを考慮しておく必要がある。調査票の出来具合のよしあしで全てが決るといってもいい過ぎではない。
       調査票によって得られる情報量の点から言えば,可能な限り,数値で回答を求めたほうがよい。

        一週間に何時間くらい運動をしますか。 
         1:全くしない 2:15分未満 3:15分以上30分未満 4:30分以上1時間未満 5:1時間以上
       このような質問した場合,ほとんど全ての対象者が「1時間以上」と答えることになるかもしれない。「1時間以上」というカテゴリーはあまりにも漠然としているし,別の集団ではほとんどが「全くしない」とか「15分以下」に集中してしまうかもしれない。このような場合には,被調査者に時間をそのまま記入させ,データファイルにもそのまま入力したほうがよい。
        一週間に何時間くらい運動をしますか。
            時間   分位
       また,例えばアンケート調査で対象者の既往歴の情報を得るための部分として以下のいくつかの例を考えてみよう。
        調査票A
                                                                                         
        質問6 今までにかかったことのある病気に○をつけてください。 
         糖尿病 脳卒中 虫垂炎 リウマチ 肝炎 心臓病 胃潰瘍  その他  
                                                                                         
        調査票B
                                                                                         
        質問6 今までにかかったことのある病気に○をつけてください。 
         糖尿病 脳卒中 虫垂炎 リウマチ 肝炎 心臓病 胃潰瘍  その他(       ) 
                                                                                         
        調査票C
                                                                                         
        質問6 今までにかかったことのある病気に○をつけてください。 
         1:糖尿病 2:脳卒中 3:虫垂炎 4:リウマチ 5:肝炎  
         6:心臓病 7:胃潰瘍  8:その他(                         )  
                                                                                         
        調査票D
                                                                                         
        質問6 今までにかかったことのある病気にいくつでも○をつけてください。 
                                      
         1:糖尿病  2:脳卒中 3:虫垂炎(盲腸)    
         4:リウマチ 5:肝炎  6:心臓病  6                           
         7:胃潰瘍   8:その他(             )                      
      
       調査票Aは最も簡単であるが,同時に最も悪い例でもある。
       調査票Bは「その他」の場合に,具体的に疾患名を自由記入によって回答を求めるようにしてある。自由記入欄は調査票にはよくある。例えば職業などを自由記入とした場合には,出現する様々な職業を解析目的に合うようにコード化しなければならない。また,いくつかの選択肢の最後に,「その他」という選択肢を用意することもある。「その他」が一括できる場合には問題ないが,回答の多様性に対応するためにも,「その他」の場合には具体的内容を自由記入によって求めるほうがよい。このような場合には,調査票回収後「その他」の内容を一覧して,出現頻度の多い回答に対しては新たなコードを設定することも必要になるであろう。
       調査票Cは選択肢の前に番号をふってある。このようにしておけば,回答された選択肢とデータ入力時の数値の対応づけの誤りが減少するであろう。調査票A〜Cはほとんど同じであり,データ入力作業の準備として,カルテ調査の場合と同様に,別の用紙にデータを転記する必要がある。
       調査票Dは各質問項目の右のほうに,コーディング作業用の欄を設けている。しかし,調査票Dは調査票A〜Cと根本的に異なる点がある。すなわち,調査票Dは○をいくつつけてもよいと指示している。このような複数回答を許す質問項目で得られる情報をデータファイルに入力する方法は,以下のように何通りかある。
      1. ○がついた項目の番号を入力する。○が一個もついていない場合にはゼロを入力する。
       この方法では,対象者がいくつ○をつけるか予想しがたい。たいていの統計解析プログラムは1ケースあたりの変数の個数は一定でなければならない。
      2. 各選択肢を1つずつの変数に対応づける。最初の変数はつけられた○の個数,2番目以降に○がついた項目の番号を入力する。残った変数にはゼロを入れておく。
       この方法では,2番目以降の変数が各疾患に1対1に対応していないので,例えば胃潰瘍の既往歴を持つ者の人数を集計する場合に,変数2から変数9までの8変数を集計対象としなければならない。このような機能はやや特殊なので,対応できる統計解析プログラムは限られているであろう。
      3. 各疾患を8個の変数に対応づける。各疾患ごとに○がついていれば1,ついていなければゼロを入力する。
       この方法が最も普遍的であろう。○がいくつついているかは変数1から変数8までの合計値を取ればわかる。また,糖尿病を1千万の位,脳卒中を百万の位,…,その他を1の位に割当てて新しい変数を作れば,この変数の度数分布をとることにより全ての解答パターンの例数がわかる。いくつかの変数の合計を取ったり,それらを組合せて新しい変数を作成する機能を持った統計解析プログラムパッケージは少なくない。

       より妥当で正確なデータを収集し,データ入力を容易にし,後の分析が適切に行えるようにするためには,これら以外にも十分考えて調査票を作成しなければならない。例えば,調査票Dでは,「虫垂炎(盲腸)」としてあるが,一般の人にもわかる用語を使用したり,調査対象者の年齢に応じて活字の大きさを考慮するようなことも必要である。

  4. データファイルの作成に使用できるソフトウェア

     一般に,データファイルの作成・管理には専用のソフトウェアを使用するのが効率的である。 もしユーザが Excel などのスプレッドシートソフトウェア,あるいは access などのデータベースソフトウェアを使用しているならば,それらを用いてデータを入力したほうが便利かも知れない。それらのソフトウェアは,たいていの場合,CSVファイルを作成する機能を持っている。
     CSVファイルを作成するためには,一般のエディタも使用できる。多くのユーザが持っていると思われるワープロソフトも使用できる。   

    1. 日本語ワープロソフトをエディタとして使用する場合の注意
       日本語ワープロソフトをエディタとして使用する場合には,半角英数入力モードで使用しなければならない。カンマ「,」,小数点「.」が句読点「、」,「。」に自動変換されるように設定されている場合には解除しておかなければならない。空白も全角空白と半角空白があるが,必ず半角空白を使用しなければならない。両者は見た目には区別しにくいので,特に注意が必要である。
       作成されたデータを保存するときに,ファイル名として拡張子が自動的に付けられる(そして,見た目では付いていないように見える)こともある。このデータを統計ソフトで使用するときには注意が必要である。

    2. スプレッドシートソフトウェアをエディタとして使用する場合の注意
       Excel などのスプレッドシートソフトウェアは変数間の演算,ケースの並べ変えなど,データファイルの作成・編集・管理の機能が優れているので,データファイルの作成においては非常に強力なソフトウェアである。これらのソフトウェアで作成されるデータファイルはいずれも特有の形式であるため,統計ソフトで使用する場合にはデータファイルの変換が必要である(直接入力できる場合もある)。


・ 直前のページへ戻る  ・ E-mail to Shigenobu AOKI