エクセルでデータクリーニング

疫学統計の基礎

データをまずエクセルファイルに直して、そのあとに統計ソフトに取り込むのがおすすめです。いろんなソフトに入れられます。

データをエクセルにまとめる

一行目は必ず変数名、それ以降は必ずデータにしておきましょう。それ以外の方法にしてしまうと、統計ソフトに取り込んだときに面倒になってしまいます。収集のときは正確に、欠損値がないように、ということは言うまでもありません。

図1 データ収集

通し番号をふる

一番右も列に通し番号を振っておくとのちのち便利です。患者さんのIDとリンクさせておくのもよいでしょう。個人情報保護の観点からデータセットからはIDや名前は除いておき、この通し番号で管理するようにします。
右クリックで新たな行を挿入し、
A2のセルに
=ROW()-1
と入れておきます。Enterを押すと[1]という数字に変換されます。

図2 通し番号をふる

セルを選択した状態で右下にカーソルを持っていくと+マークが表示されるので、そこでダブルクリック。それ以降のセルにコピーされ1、2、3、4、5、・・・・と並びます。

図3 下のセルにもコピー

セルの右下➡+マーク➡ダブルクリック➡以下のセルにコピー
は汎用性が高いので、覚えておいてください。

計算したものは数値として保存

計算して出した値なので、はじめは数式として保存されていると思います。図4のようにA2セルには[1]と表示されていますが、関数のところに[=ROW()-1]と表示されています。これは数式として保存されている状態です。

図4 式として保存されている状態

データを編集しているときに不具合が出てくる場合があるので、計算したものは数値として保存しておくようにしましょう。
A1の列をすべて選択した状態で右クリック➡コピー➡同じ場所で「貼り付けのオプション:値」を選びます。

図5 式→数値に変換する

そうするとA2セルを選択したときに関数のところにも[1]と数字で表示されるはずです。

必要な計算はこの段階でやっておく

SPSSやStataにデータを入れた後でも計算や連続変数のカテゴリー化はできますが、面倒なことも多いので、エクセルの段階でやっておきましょう。
計算やカテゴリー化をするときも元データは消さないこと。行を追加して新しく作っておきましょう。
例)BMIを計算する場合
右クリックで行を挿入
一番上のセルに計算式を入れる

図6 必要な計算をする

先ほどと同じ手順で+マークを使ってコピー➡値として保存

便利なエクセル関数も多数ありますので、必要な時に調べましょう。

=DAYS(終了日,開始日) 開始日~終了日までの日数

フィルターをつける

ホーム➡並べ替えとフィルター➡フィルター

図7 フィルターと置換

項目の右に▼マークがつきます。これがフィルターマークです。

図8 フィルター

▼をクリックすると、含まれているデータが出てきます。チェックでその条件に合うものだけを選択することもできます。連続変数をカテゴリー化したいときにも便利です。また、欠損値は(空白セル)として表示されるので、欠損値がないかも確認し、あればできるだけ埋めるようにします。

名義変数は数値に変換する

ホーム➡検索と選択➡置換

図9 置換

置換したものが何かわからなくならないようにエクセルシートの2枚目(左下で追加できます)に項目の表を用意しておきます。

図10 エクセルシートの2枚目

項目によっては2値数(0、1)でないものもあると思うので、必ず何をどの数字に置き換えたのか分かるようにしておきましょう。

その他

データが多くてスクロールが面倒なとき(Windowsの場合)
・Ctrl+矢印 端から端に移動
・Ctrl+Shift+矢印 端から端まで選択

最終チェック

①欠損値がありませんか?(データがない場合は仕方ありませんが、年齢、性別などの必ずあるはずのデータが抜けていないか確認しましょう。欠損値があると、そのデータは検定のときに使用されません。可能な限り欠損値を減らしましょう。)
②誤入力はありませんか?(ありえない値をとっているものはないか、フィルターで確認しましょう。)
③名義変数や必要な連続変数はすべて数値に置換されていますか?

これで終了です。
面倒な作業や計算はだいたいエクセル関数が楽にしてくれます。面倒だなと感じたら必要に応じて調べましょう。

コメント

タイトルとURLをコピーしました