R言語所蔵のサンプルデータセットを、ABC順(大文字先)で端から眺めております。前回はオーストラリアの人口でしたが、今回はビーバー2匹の体温測定です。「サンプル」なので致し方ないですが、雑多なものの寄せ集め感ハンパないです。まあRでの処理のやり方を学ぶためのデータと割り切れば良いんでしょうが。
※「データのお砂場」投稿順Indexはこちら
今回のデータセットの解説ページが以下に。
Body Temperature Series of Two Beavers
R上のデータセット一覧の表示では、以下のように2項目であるように見えます。しかし、2つは一体化していて beavers という名を冠したデータセットに見えます。
データ自体は、ビーバー(北米の川に切り倒した木でダムを作る動物だと思います)4頭(全てメスだそうで)について、10分おきにその体温を記録した「膨大な」データの一部みたいです。
どういう理由でその一部をどう切り出したのかは不明ですが、2つあるデータは、それぞれ1990年の特定の約1日ほどの期間の特定の1頭のデータであるようです。
-
- beaver1、December 12-13
- beaver2、November 3-4
日付けも違えば個体も違うと。当然、天気などの気象条件、水温なども違うんじゃないかと思いますが、そういう外的要因は一切書いてないです。あくまで1頭の体温の変化データ。
まずは生データ
個別に beaver1 をロードしようとしても、上記に述べた理由でうまく行きません。以下のように、beaversとすると beaver1とbeaver2が一度にロードできます。どちらもフツーのdata.frameです。
データフレームの様子が以下に。
day は、1990年の年頭からの日数みたいです。timeは、840とあったら08:40の意味です。tempは体温で摂氏。activは、「隠れ家」(巣)から出ていたら1、そうでなければ0となるようです。
とりあえず、データの素性を見るために両方のデータのsummary調べてみました。こんな感じ。
処理例に従ってプロット
別な個体の別な日にちのデータなので、2つを比較するというのもなんだかな~どういう処理すべきなのかと思ったです。しかし、今回は上記の解説ページに処理例が記されていました。
2例を並べて時間に対してプロット
プロット関数については、時間を変換したりメンドイ処理があるので、スクリプトファイルにしておいてから、実行してみました。以下はスクリプトエディタ画面です。
上記のプロット用のスクリプトで関数定義した後、2つのデータに適用して並べてプロットすると。
beaver1の方は12月中旬です。beaver2は11月初旬。beaver2の方が活発に外へでていて(赤丸ついているのが外に出ているところ)そのときの体温も高いです。beaver1の方は稀にしか外に出ないし、体温も低いです。12月中旬ともなると寒かった? まあグラフの書き方のお勉強にはなるけれど、もう少しビーバーさんの生態というか、知れると面白かったな。