データベースを作成する上で便利なExcel。

データを集めた後は、統計学的に処理をしなければなりません。
SPSSにしろJMPにしろEZRにしろ、データベースをそのまま使うことは困難です。
統計ソフトで処理できるように、データを整えなければなりません。
ということで今回は、データ整形の技を紹介します。



データを解析できるように処理する

データベース作成の基本

前回のおさらいです。
  • 1行1データ
  • 通し番号をつける
  • 表記の揺れをなくす
これに則ってデータベースを整形していきます。
また、1行目には見出しをつけておきましょう。逆に言うと、見出しは1行にとどめておく方が解析の時がスムーズです。また、後で統計処理する際にバグの元になるので、同じ見出しをつけないように注意です。

データの整形をする前に

データベースをいじる前に、名前をつけて保存しておきましょう。
整形の課程で細かなデータを消してしまったときなど、戻って確認することがあります。
元データは手をつけずに保存しておくのが吉です。
私も何度か痛い目を見ているので、深く考えずにバックアップとして残しておきましょう。

データを確認する

データの種類について

一言で「データ」と言っても、様々なデータがありますね。
統計処理する上では、そのデータが数値なのか名義なのか、はたまた順序名義なのかをはっきりさせておく必要があります。
それぞれのデータによって、統計手法が異なるからです。

数値は採血結果や身長体重、血圧など、連続した値をとるものを差します。
名義は性別、病名など、カテゴリーで分けるものです。
病期分類など、順序があるものの連続した値をとらないものは一般的に名義(特に順序名義)として扱います。
例外的に、アンケート結果で、1~5の選択式などの場合には、数値として扱う場合もあります。詳しくは調べてください。

データを統計用にまとめる

定性データを定量データに変換する

自由記載等のデータは統計処理には不向きです。
キーワードで分類・カテゴリ化するという手段があります。
新しい列を追加し、名義データに変換しましょう。ここは手作業やむなし、です。

連続数値データを名義変数に変換する

正直、統計ソフトでやる方が早いです。
ExcelでやるならIF関数を使いましょう。
 IF(論理式, 真の場合, 偽の場合)
 偽の場合のところに新しくIFを入れていけば分岐を増やすことができます。
判定基準用の表をあらかじめ作っておくのを忘れずに。

データを整形する

名義データは、一字一句合っているものを初めて同じグループと見なすので、表記の揺れをなくす必要があります。
 ex)全角・半角、スペースの有無、漢字仮名など
データを入力する際にきれいに揃っていれば良いのですが、そうでない場合は統計処理する前にそろえておきましょう。

ピボットテーブルを使う

表記の揺れを探すには、ピボットテーブルが便利です。
手順はこんな感じ。

 挿入>ピボットテーブル>テーブルないしデータ範囲を選択して新規ワークシートに配置
 >表記揺れを見つけたいデータ列の名前を「行」に、「値」に個数を選択
 >名義カテゴリの一覧が出力されるので、「同じものを指しているはずなのに別名義になっている」ものを確認
 >正しいものを残し、間違っている表記を修正

このとき、「間違っているカテゴリ」の個数のセルをダブルクリックすると、新規シートに元データのどのデータなのかを出力してくれます。
通し番号などから元データに戻り、該当データを修正します。

置換を使う

数が多い場合には、置換が便利です。

置換したいフィールドの列全体を選択
>Ctrl+H
>「間違っているカテゴリ名」を検索し「正しいカテゴリ名」に置換、すべて置換する

文字数が少なかったり、カテゴリの名前が似ていたりすると、予定していなかった部分まで置換されてしまうことがあるので注意しましょう。

ex)「ペン」「マジック」「ボールペン」があって、「ペン」を「マジック」に置換しようとすると「ボールマジック」という謎の単語ができあがります。

関数を利用する

表記の揺れはないけど、まとめて名義データを変換する時には、関数を使うのも選択肢です。
SPSSは日本語に対応しているので問題ありませんが、EZRでは日本語がうまく表示されない事があるため、カテゴリ名などは英語表記にしておく事をおすすめします。

先に変換用の対応表を作っておきます。
>変換したい列の横に新しい列を挿入
>VLOOKUP(検索値, 範囲, 列番号, 検索方法)
 検索値:変換前のデータ
 範囲:変換対応表の変換前の列
 列番号:変換対応表の変換後の列番号
 検索方法:0かFalseを入力(完全一致を表す)

関数をたくさん使うとファイルが重くなるようなので、置換が楽かもしれません。
置換する場合も、列をコピーしておいて置換すると安全です。