lab.jsで作成した調査・実験で出力されるデータの読み込みとExcelでの前処理について紹介します。なお,Rを使える方はRを使ったやり方がオススメです。
lab.jsでは実施する方法によって出力されるファイル形式が異なります。
データ構造とは,どのような形式でデータが保存(格納)されているかを意味します。データ構造には様々な分類がありますが,lab.jsに関連する分類としてWide型とLong型があります。画像に対する評定を行った2名分の架空データに対して,ほぼ同一の内容をWide型とLong型で以下に示しています。
Wide型 Wide型では,列名に見出しを与え,参加者番号(ID),年齢(Age),それぞれの画像名(1.jpg〜4.jpg)についての各参加者のデータを格納しています。特徴的なのは,1名につき,1行を割り当てるという点です。測定内容(変数)が増えれば増えるほど,横に広がっていきます。
Long型 一方で,Long型は,列名に見出しを与える点はWide型と同様ですが,参加者の横ではなく,縦に並べています。参加者番号(ID)を繰り返し表記することで,どこまでが1名分のデータかを示しています。測定内容(変数)が増えると,縦に伸びていく特徴がありますが,データの種類が増えると横にも伸びていく場合もあります。
直感的にはWide型の方が我々人間には理解しやすいことが多いはずです。1名分が1行なので全体的な傾向を掴むことが容易です。一方で,Wide型では見出しが何を示しているのかが不明な事態が起こります。画像評定課題のデータであることを知っていれば,Wide型のデータが何を意味するのかはわかりますが,データだけでは,画像ファイルと値が何を意味するのかわかりません。一方で,Long型はデータが冗長になりやすいため,人間には理解しにくいです。しかし,変数ごとに見出しが与えられているため,どのような変数が格納されているのかはわかります。コンピュータはWide型よりもLong型の処理が得意です。
一般に実験にせよ,調査にせよ,プログラムは時間や反応とともに段々と進行していきます。多くのプログラムでは時間情報(各処理の開始時間など)も含んで,データを段々と出力します。このような場合,Wide型では1名につき1行であるため,時間情報をうまく格納することができません。したがって,プログラムの出力としてはLong型の方が適しています。実際に大半の実験プログラムでデータはLong型で格納されます。先に述べたようにlab.jsの出力もLong型ですので,ここまでで説明したLong型の特徴を覚えておきましょう。
lab.jsから出力されたcsv形式のファイルExcelで読み込む場合は注意が必要です。lab.jsで出力されるcsvにはBOMという情報が書き込まれていないため,Excelでそのまま開いたり,インポートするだけではデータに含まれる日本語が文字化けしてしまいます。これはエンコード形式を指定しても直りません。そのため,Excelで読み込む場合には以下の手続きを取ってください。
エディタ(Windowsはメモ帳; Macはmiなどをインストール)でcsvを開き,(そのまま)上書き保存
UTF-8かShift-JISで保存しないとダメかもしれません
↑で上書き保存したcsvを通常のcsvと同じようにExcelに読み込む or インポート
インポートする際には「区切り記号付き」で,「元のファイル」には「Unicode(UTF-8)」を選び,区切り文字には「カンマ」を選びましょう。
データ読み込み後には前処理といって,分析前に不要なデータを削除したり,整えたりします。ここでの重要なルールはローデータと解析用データを分けるということです。lab.jsから出力されたローデータとは別途,解析用データを用意してください。ローデータは必ずバックアップを取った上で保存しておきましょう。