AndroidからフィールドデータをCSVにエクスポート

要点
Counter App — Tally & Clickerを使ってAndroidでフィールドデータをCSVにエクスポートするには、標本単位ごとに1つのカウンターを作り、各カウンターに同じタグを設定します。次にエクスポートオプションを開き、概要、イベント、メモ、ロケーションにチェックを入れて、CSVかExcelを選びます。名前とステップを統一しておけば、ほとんど手を加えずに分析に使えるファイルになります。
- Counter App — Tally & Clickerは、Androidスマートフォンで記録した野外のカウントを、CSV、Excel(XLSX)、または写真が埋め込まれたHTMLレポートとしてエクスポートできます。
- 整ったフィールドデータのエクスポートは構造から始まります。標本単位ごとに1つのカウンターを作り、すべてのカウンターに変数として同じタグのセットを設定します。
- Counter Appのエクスポートダイアログには、概要、イベント、メモ、ロケーションという4つの独立したセクションがあり、イベントにはすべてのカウントがタイムスタンプ付きで含まれます。
- 野外カウントの写真はHTMLレポートとバックアップZIPファイルに含まれ、CSVに入ることはありません。
- 桁数をそろえた一貫性のある名前、短く変更しないタグのラベル、全端末で共通の日付形式を使えば、野外のCSVファイルをR、Python、表計算ソフトでそのまま扱えます。
野外で数える目的は、分析できる数値を手に入れることです。当たり前のように聞こえますが、実際には、後から表計算ソフトに収めるのに苦労する形で集められたフィールドデータが少なくありません。名前の付け方がばらばら、単位が自由記述の中に埋もれている、2人の観察者が同じものに別のラベルを使っている、といった具合です。GiveMeMoodのCounter AppはAndroidスマートフォンからCSV、Excel、HTMLにエクスポートできますが、エクスポートがどれだけ整うかは、最初のカウントの前に作った構造で決まります。
この記事では、最終的に欲しいファイルから逆算して、CSVにほとんど、あるいはまったく手を加えずに済むカウンターの設定方法を紹介します。
フィールドデータのエクスポートでは、どんな表を作るべきか
アプリで何かを作る前に、分析に必要な表をざっと描いてみましょう。個体数ベースの野外調査の多くでは、次のような形になります。標本単位と変数の組み合わせごとに1行とし、調査地、単位、変数名、カウント、場合によっては位置や日付を列にします。このような整然とした形式(「ロング形式」)は、後でR、Python、表計算ソフトのピボットテーブルで形を変えるのが最も簡単です。
そのうえで、次の3つを考えます。
- 標本単位は何か。トランセクト、コドラート、定点カウントの地点、トラップ、時間区間のどれか。
- 変数は何か。種、行動コード、車種、材質の種類など。
- 一緒に記録しておくべき背景情報は何か。位置、観察者、天候、調査回など。
この答えによって、カテゴリー、カウンター、タグの使い方が決まります。
構造を列に対応させる
アプリには3つの構造レベルがあります。
- カテゴリーは最大3階層まで入れ子にでき、プロジェクト、調査地、調査回といったグループ化の列として機能します。
- カウンターは標本単位です。それぞれに名前、色、コード、説明、メモ、リンクがあります。
- カウンター内のタグは変数です。タグにはそれぞれ、値、ステップ、目標、色、位置、バーコード、タイマー、ストップウォッチ、メモがあります。
無難な基本形は、標本単位ごとに1つのカウンター、変数ごとに1つのタグを作り、すべてのカウンターに同じタグのセットを設定することです。どこでもタグのリストが同じなら、概要のエクスポートはきれいな格子状に並びます。
逆に、変数ごとに1つのカウンターを作り、単位をタグにする構成も、変数のリストが短く単位が多い場合などには役立つことがあります。どちらの構成にするかをプロジェクト全体で1つに決め、最後まで変えないようにしましょう。
分析で困らない命名規則
名前は識別子になり、識別子に一貫性がないと分析が破綻します。何時間もの手間を省くためのルールをいくつか紹介します。
- 固定のパターンを使う。「Site 1 T2 q5」と「S1/T2/Q05」を混在させるのではなく、「S01-T2-Q05」のようにそろえます。
- 数字の桁数をそろえると、名前順の並べ替えが数値の順序と一致します。カウンターリストには6種類の並べ替え順がありますが、「Q10」が「Q2」より前に来てしまう問題はどれを使っても解決できません。
- 変数名は短く、変更しない。「ハマシギ(成鳥・採食中)」ではなく「ハマシギ」のようにします。修飾語はメモか別のタグに入れましょう。
- 名前にカンマや改行を入れない。 CSVは引用符で囲まれたテキストを扱えますが、ツールや簡単なスクリプトの中には扱えないものもあります。
- カウンターのコード欄にはデータベースが想定する短いIDを、名前欄には人が見てわかる名前を入れます。
カウンターリストの検索を使えば、野外でも単位をすばやく見つけられます。ただし、その検索が役立つのは、入力しやすい決まったパターンで名前が付けられている場合だけです。
タグは変数になる
各タグのラベルはエクスポートしたデータの値になるので、ラベルは変数名として扱いましょう。すべてのカウンターのすべてのタグで、つづりと大文字・小文字をそろえます。色はデータとしては出力されませんが、色を統一するとカウント中のミスが減り、そのほうがずっと重要です。
ステップについては、メタデータにメモを残しておく価値があります。ステップ5のタグはタップ1回で5を記録し、エクスポートされる値はタップ回数ではなく合計です。1以外のステップを使うタグがある場合は、カウンターの説明とREADMEに書いておきましょう。
タグの位置には、GPS、地図上で選んだ地点、または入力テキストを使えます。地図を作るのでない限り、分析には生の座標よりも、調査地台帳と一致する入力コードのほうが役立つことが多いでしょう。
野外データの分析に必要なエクスポートのセクションは?
エクスポートオプションのダイアログには、個別にチェックを入れられる4つのセクションがあります。
- 概要:カウンターごと・タグごとの合計。ほとんどの分析で中心となる表です。
- イベント:個々のカウントすべてを、タイムスタンプ、ステップ、その結果の値とともに記録したもの。頻度、間隔、活動パターンなど、時間に関わる分析に必要です。
- メモ:カウンター、タグ、イベントに付けた自由記述のメモ。
- ロケーション:タグに保存した位置。
エクスポートするのは必要なものだけにしましょう。概要だけのCSVは小さく、確認も簡単です。イベントを加えるとファイルがかなり長くなることがあり、スクリプトで処理するなら問題ありませんが、目で確認するには不便です。
CSV、Excel、HTMLのどれを選ぶか
CSVは分析の標準です。プレーンテキストなのでどんなソフトでも読み込め、バージョン管理も簡単です。
Excel(XLSX)は、表計算ソフトを日常的に使う共同研究者に向いています。また、一部のロケールでCSVファイルが引き起こす文字コードや区切り文字の思わぬトラブルを避けられます。
HTMLレポートは分析用ではありません。写真が埋め込まれた読みやすい文書なので、調査報告書の添付資料や、土地の所有者への共有、アーカイブに適しています。
「共有とエクスポート」画面では、カウンターをHTMLページとして共有したり、データをエクスポートしたりできます。写真がCSVに含まれることはないので、写真が必要な場合はHTMLレポートかバックアップZIPを使いましょう。
イベントのセクションの実際
イベントのエクスポートには、アプリ内の履歴画面で見られるのと同じ情報が含まれます。プラスやマイナスのタップごとに、正確な時刻、ステップ、変更前と変更後の値、タグです。これを使えば、後からカウントのセッションを再現できます。たとえば、定点カウントの最初の1分間に何件の確認があったか、ある観察者がまとめて数える傾向があったかどうかなどです。
注意点が2つあります。訂正はマイナスのイベントとして記録されるので、イベントを合計する分析では、除外せずに含めて計算してください。また、アプリの履歴には検索機能がないので、長いセッションを点検したい場合は、イベントをエクスポートしてお好みのツールで絞り込みましょう。
定性データとしてのメモ
メモには、天候、攪乱、同定に自信のない記録、方法からの逸脱など、背景情報が記録されます。メモはテキストとしてエクスポートされ、構造化されていないからこそ価値があります。
少しルールを決めておくと便利です。天候なら「WX:」、同定に自信がない場合は「ID?:」のように、いくつかの接頭辞を決めておけば、後で簡単な文字列一致でメモを絞り込めます。エクスポートの前には、メモをタグのラベルと時刻付きで一覧表示し、並べ替えもできる「すべてのメモ」画面に目を通し、入力ミスは元のデータで修正しておきましょう。
エクスポート前の簡単な確認
エクスポートの前に、各カウンターのダッシュボードを開きましょう。合計と目標、増加と減少、7日間の活動棒グラフ、タグ別の円グラフが表示されます。減少が異常に多い場合は、誰かが訂正を何度も繰り返したか、ポケットの中での誤タップが紛れ込んだ可能性があります。履歴を確認し、ファイルに出力する前にアプリ内でデータを修正してください。計数を終えたカウンターをロックしておけば、こうした問題の大半はそもそも起こりません。
エクスポートした野外のCSVファイルを整理・統合するには
構造をしっかり作っていても、ある程度の整理は必要になると考えておきましょう。
- 列名を統一する。 異なるバージョンのアプリや異なる設定からのエクスポートを組み合わせる場合に必要です。
- 文字コードを確認する。 名前にアクセント付きの文字などが含まれる場合は、CSVをUTF-8として開きます。
- 日付は明示的に解析する。 自動判定に頼らず、どの日付形式を想定しているかをツールに指定します。
- ファイルを行方向に結合し、 そのうえで、観察者や調査回など、カテゴリー名に組み込んでおいた背景情報の列を追加します。
- ロング形式からワイド形式への変換は、それを必要とする分析のために、最後に行います。
エクスポートしたままの生データには手を付けず、整理はすべてスクリプトで行いましょう。そうすれば、問題が見つかったときにも再実行できます。
複数の観察者
スマートフォン同士のリアルタイム同期はないので、複数の観察者が関わるプロジェクトでは計画が必要です。
- 観察者ごとに別のカテゴリーか、別のカウンター接頭辞を割り当て、ファイルが衝突しないようにします。
- 各観察者は1日の終わりにCSVをエクスポートし、日付とイニシャルをファイル名に入れます。
- あるいは、各観察者がバックアップZIPを作成する方法もあります。バックアップは選んだカウンターやカテゴリーだけに絞ることができ、写真を圧縮することもできます。
バックアップZIPをインポートすると、プレビューに中身が表示され、重複を置換、コピー、スキップのどれで扱うかを尋ねられます。「コピー」を選ぶとカウンターが重複して作られる点に注意してください。両方のバージョンを残したいときには適していますが、日常的な統合には向きません。
日付形式とロケール
アプリの設定には5種類の日付形式があります。分析ツールで問題なく解析できるものを選び、チーム内のすべてのスマートフォンで同じものを使いましょう。共同研究者が異なる言語を使っている場合、アプリの37の表示言語を切り替えてもタグのラベルは変わりませんが、日付形式の設定はスマートフォンごとに保持されるので、シーズンが始まる前に統一しておきましょう。
データの記録を残す
記録のないデータセットは、未来の自分にとって謎解きになってしまいます。エクスポートファイルと一緒に、次の内容を記録した短いREADMEを残しておきましょう。
- 各カテゴリー、カウンター、タグが何を表すか
- ステップが1以外のタグ
- メモの接頭辞とその意味
- 各ファイルをどのスマートフォンと観察者が作成したか
- 使用した日付形式
原本としてのバックアップ
エクスポートはある時点のスナップショットです。バックアップZIPは写真を含み、後で再びインポートできるので、最も完全な記録に近いものです。フィールドデータはスマートフォンに保存され、Counter App独自のクラウドはないので、野外調査の日ごとにバックアップを作成し、安全な場所にコピーしておきましょう。削除したカウンターはゴミ箱から復元できますが、スマートフォンを紛失した場合には役に立ちません。
想定されるワークフローの例
2人のチームが、12か所の池で両生類の卵塊を調査する場面を想像してみてください。カテゴリーは池の調査 → 調査回 → 観察者、カウンターは「P01」から「P12」と命名し、どのカウンターにも同じ4つのタグを設定します。毎晩、2人とも概要とメモをCSVでエクスポートし、バックアップZIPを作成して、すべてを共有のノートパソコン上の日付名のフォルダーにコピーします。短いスクリプトがCSVを結合し、ファイル名から調査回と観察者の列を追加して、1つの整然とした表を書き出します。この設定と数値は例であり、実際のプロジェクトを説明したものではありません。
アプリはcounterapp.onlineから入手できます。
よくある質問
野外のカウントはどのファイル形式でエクスポートできますか?
Counter Appは、分析用にCSVとExcel(XLSX)ファイルを、閲覧や保管用にタグの写真を埋め込んだHTMLレポートをエクスポートできます。
野外調査を行う研究者は、CSVエクスポートに含めるセクションを選べますか?
はい。概要、イベント、メモ、ロケーションはそれぞれ別のチェックボックスになっているので、合計だけをエクスポートすることも、イベントの記録をすべて加えることもできます。
野外で撮った写真はCSVエクスポートに含まれますか?
いいえ。写真はHTMLレポートに埋め込まれ、バックアップZIPファイルにも含まれますが、CSVには含まれません。
複数の観察者のスマートフォンからエクスポートしたCSVはどう統合しますか?
リアルタイム同期はありません。エクスポートしたCSVファイルを分析ツールで統合するか、バックアップZIPをインポートします。インポート時のプレビューでは、重複を置換、コピー、スキップのどれで扱うかを選べます。
フィールドデータのエクスポートにアカウントやクラウドストレージは必要ですか?
いいえ。Counter Appはアカウント不要で、Counter App独自のクラウドもありません。データはスマートフォンに保存され、エクスポートファイルをいつどこに送るかはご自身で決められます。
ステップ5のタグでは、エクスポートされる値はタップ回数と合計のどちらですか?
合計です。ステップ5のタグは1回のタップで5ずつ加算されるので、初期値以外のステップを使う場合は、カウンターの説明とデータセットのREADMEに記録しておきましょう。
マイナスのタップもイベントのエクスポートに含まれますか?
はい。訂正はマイナスのイベントとして記録されるので、イベントを合計する分析では、除外せずに含めて計算する必要があります。
