今回のデータはいままで見てきたサンプルデータの中で一番長大なデータかもしれないです。約8000年間の年輪の幅のデータです。カリフォルニアはシェラネバダ山脈の山中に生えている Bristlecone Pine という長寿命の木について調査した結果です。データは長大、でも幅だけ。これだけ見たらばどうしたら良いのという感じ。
※「データのお砂場」投稿順Indexはこちら
紀元前6000年から1979年までの年輪データ
サンプルデータセットの解説ページへのURLは以下です。
Yearly Treering Data, -6000–1979
解説ページの記述を読むと、カリフォルニア州の東に毅然としてそそりたつシェラネバダ山脈でも結構南の方、もう少し南へいくとモハーベ砂漠もほど近いあたりの調査みたいです。このあたりには米国本土最高峰、4000mを超えるマウント・ホイットニーも聳えていて相当な高山。そしてホイットニーの東にはいくつかの谷と山に隔たれたデスバレー(米国本土の最低地点、海面下85m)があるという過激な土地です。
そこに生えている Bristlecone Pine という老木の調査なのですがこれがまたすごい木です。シェラネバダ山中にはジャイアント・セコイヤのような世界最大級の太さと高さ(高さ的には海岸部のレッド・ウッドの方がちょっと高い)を誇る巨木がある一方、この Bristlecone Pine も生えておると。樹齢は5000年ほどにもなるらしいです。しかし見た目はひねくれ曲がった枯れ木。背の高さも高くないようです。興味のある方は地層科学研究所様の以下のページをどうぞ。
世界最長寿(?)の生き物の話 – Bristlecone Pine
なお、サンプルデータセットは1年1数値データのシンプルな時系列データです。またデータは「正規化された」年輪幅であり単位はなし、ということであります。
また、残念なことに解説ページには処理例などはありません。自分で考えろと。
まずは生データ
まずは、サンプルデータセットをロードして中身を眺めてみます。普通のTime-Series(ts)データです。
上記プロットを見ると、平均1.0で、全データが0.0から2.0の間にハマるように「正規化」かけられているような気がします。知らんけど。
summary()関数はtsデータについても適用可能なので、その様子が以下に。
Min 0.0 から Max 1.908とな。年輪の幅0ということはないと思うので、「正規化」の計算により最も小さい幅を0として、最大が1.9くらいになるもんだと。それに平均から±20%くらいの幅をとったら半分以上のデータはそこに収まっているようです。
約8000年分ものデータに無謀とは思ったのですが、一応、自己相関(成り行きのデフォルトで)かけてみました。
acf(treering)
結果はこんな感じ。40年くらいのLagでは特に周期性など見えないようです。
やっぱり、温かくで水分が多ければ年輪幅は広くなり、寒くて水分も少ないと狭くなるのかな~。どうなんだろ。
生育の悪かった年を知りたいデス
ともあれ、幅が狭い=生育が悪かった、という考えで良いのでないかい、ということで、悪かった年を知りたいと思いました。それが、シェラネバダ山脈のローカルな気象状況によるものか、はたまた全世界的な傾向なのかはこのデータだけではなんとも言えませんが。
しかし、R言語素人、時系列データのままそのような処理のかけ方が分からず、以下のように力業にて data.frame 化してしまいました。。。ほんとはどうするのがカッコイイの?
year <- as.vector(time(treering)) data <- as.vector(treering) treering.df <- data.frame(year, data)
この形になれば、年輪(正規化された)の幅の特に狭かった年を列挙することができます。0.1より小さいと特に狭いという判定としてます。こんな感じ。
ここで抽出した「悪かった」年代と、小氷期、火山の大噴火などが紐づけできると地球規模のスペクタルでありますが、このデータだけではなんとも。