Bioinformatics tips: 常にタイポの可能性を意識しよう

UB3/informatics/bioinformatics/tips_typo

このページの最終更新日: 2024/09/30

  1. 概要: タイポを見逃した経験

広告

概要: タイポを見逃した経験

この R のビルトインデータセット である iris のような形式のデータを解析していたときのこと。反省材料として、ページを作っておく。作業は R で行った。

R 組み込みデータセット iris

iris というデータセットには Species という列があり、すべての行が setosa, versicolor, virginica という 3 つの種のいずれかが該当している。

ここから、別のファイル A で指定されている種のみを抜き出して解析するという状況だった。ファイル A には setosa, verscolor という文字列があり、つまりこの 2 種を含む行だけを抜き出せば良い。

作業としては簡単で、ファイル A から setosa, verscolor をベクターとして抽出し、filter() 関数で

dplyr::filter(.data = iris, Species %in% vector)

のようにして指定すればよいのだが、これは タイポがないことを前提とした手法 である。実際、上の文章中にあえてタイポを入れてみている (vesicolor なのだが、vescolor となっている)。このまま実行すると、vesicolor という種は選ばれず、setosa だけを選んで解析を進めることになる。

このように単純なデータセットなら、解析しているうちに気づくだろうが、種が 50 個とかあった場合、このようなタイポによる見逃しがあっても気づかないだろう。

今後、このようなミスを防ぐための自分ルール。常にタイポのある可能性を意識し、タイポがあったら発見できるような解析手順をとる。

上のような例では、具体的に以下を実行する。

  • iris のデータが、ファイル A の分類にしたがって全て振り分けられることを確認する。必ずしもそうなっていないデータセットもあるかもしれないので、可能な場合のみ。
  • 文字列によるカテゴリー分けがあったら、とりあえず unique() 関数をかけて眺めてみる。
  • 各カテゴリーに含まれるデータ数も、図にしたりしてチェックする。

広告

References

コメント欄

サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。