EZRやRにExcelデータを読み込ませた瞬間、
画面が赤文字のエラーで埋め尽くされたり、
狙った変数が選択肢に出てこなかったりして手が止まってしまう。
そんなご経験はありませんか?
「EZRはマウス操作だから簡単」というイメージはありますが、
裏で動いているエンジンはRです。
そのため、データの不備には容赦がありません。
実は解析そのものよりも
「データを綺麗に整える工程(前処理)」に時間がかかっています。
今回は、その最大の原因である「表記ゆれ」が
なぜエラーを引き起こすのか、そして事前にどう防げるのかを解説します。
Excelの「便利さ」がEZR/Rでは「致命的エラー」になる
Excelは非常に優秀なので、
1つの列の中に数字・文字列・空欄が混ざっていても
問題なく表示してくれます。
しかし、EZR/Rは「データ型」に対して極めて厳格です。
データ型が壊れて変数が選べなくなる
1つの列(変数)は「数値型」か「文字型」の
どちらか1つしか持てません。
数値の列に「1.5mg/dl(単位入り)」や「測定不能」が
1つでも入ると、EZR/Rはその列全体を「文字型」と
判定してしまいます。
その結果、t検定や平均値の算出をしようとしても、
EZRの選択肢リストにその変数自体が表示されなくなります。
カテゴリの不必要な分裂が起きる
「Male」「male」「Male (末尾スペース)」は、
人間には同じ「男性」に見えても、
EZR/Rにとっては完全に別の3グループです。
2群比較をしようとしても「群が3つ以上あります」と
弾かれてしまいます。
データでよく見かける「表記ゆれ」あるある
よく遭遇する、解析を一瞬でストップさせる典型パターンです。
• 全角と半角の混在
「1(全角)」と「1(半角)」が混ざるだけで、
EZR/Rは列全体のデータ型を
『文字型(character)』に変更します。
その結果、本来出力されるべき平均値や標準偏差が
すべてNA(欠損値)になり、
基本集計すら不可能になります。
• 数値の列への単位・記号混入
「1.5mg/dl」や「<0.1」など、
解析したい数値の列に単位(mg/dl)や記号(<、%)を
入れてしまうケースです。
文字が1つでも混ざると列全体が『文字列』と判定され
数値としての計算が一切できなくなります。
• 見えない空欄(スペース)の混入
セルの頭や末尾に入り込む半角スペースは
画面上では透明ですが、EZR/Rは別の『文字列』
として厳格に区別します。
その結果、群が勝手に分裂して2群比較の解析で
エラーになります。
データ解析前に行う予防策
データ前処理の手戻りを防ぐための、
Excel作成段階での具体策です。
• 1列1データ型の徹底(数値列に文字を入れない)
数値列には純粋な数字だけを入力します。
『測定不可』『不明』などの文字を入れたい場合は、
文字を入力せず『空欄』にします。
EZR/Rは空欄を自動的にNA(欠損値)として
正しく処理してくれます。
• データ入力規則の活用
「Male / Female」などのカテゴリ変数は、
手入力せずにExcelの「データの入力規則」で
プルダウン選択に固定します。
これで全角・半角の混在や、
末尾への余計なスペース混入を防げます。
• 変数の項目名は半角英数字へ統一
日本語の変数名(例:「年齢」「血圧」)も
EZR/Rで読み込めますが、環境によって
文字化けやエラーの原因になります。
age や sbp_after
(スペースの代わりに アンダーバー [ _ ] を使用)
などのように、半角英数字で統一するのが鉄則です。
まとめ
ご依頼時にご確認いただきたいこと
データをお預かりする前に、以下の3点だけ振り返っていただけると、解析開始までがぐっとスムーズになります。
1. 数値の列に「文字・記号・単位」が混ざっていないか
2. 入力ミスや「見えないスペース」が入っていないか
3. カテゴリ変数や項目名は「半角英数字」になっているか
「解析時間の8割はデータ前処理」と言われるほど、この工程は重要です。
ここが整っているだけで、その後の作業スピードも結果の信頼性も大きく変わります。
もちろん、表記ゆれが残ったままのデータでもご相談いただければ、
前処理から一緒に整えていきますので、まずはお気軽にご相談ください。