データのお砂場(81) R言語、sunspot.month、オケイジョナリにアップデート?

Joseph Halfmoon

R言語所蔵のサンプルデータセットをABC順(大文字)優先で拝見させていただいとります。前回は太陽黒点関係のデータセット3種を一気にロードして比較してしまいました。しかし似ていても異なるデータセットです。個別に処理例が付属しております。今回はsunspot.monthデータセットの処理例をそのまま練習してみます。

※「データのお砂場」投稿順Indexはこちら

sunspot.month

sunspots「3兄弟」の中で sunspot.monthデータは最長のデータセットです。サンプルデータセットの解説ページが以下に。

Monthly Sunspot Data, from 1749 to “Present”

このデータセットの最大の特徴というべきところを1点上記ページから引用させていただきます。

This is the version of the data that will occasionally be updated when new counts become available.

更新されることがあるのね。それで “Present” と書いてあるわけね。ま、手元のRバージョンに付属しているのはほぼほぼ10年前、2014年までのデータだけれども(若人は”Present”とは思えないかもしれないけど、老人にはつい昨日のデータであります。)解説ページを読ませていただくと少なくとも20世紀の終わりに1回更新されておるようです。

なお、同じ月次データですが、sunspotsとsunspot.monthではソースが異なります。同じ太陽表面を眺めていても、観測者によって数が異なることがあるっと。

生データの観察から解説ページの処理例に従う

前回すでにsunspotsデータをお砂場してみたときに、sunspot.monthもロードして勝手処理してます。今回は解説ページの処理例どおりにやっていきます。やっぱり sunspotsデータもロードして比べるみたいです。ただ比較のポイントは前回とは違うっと。

最初は生データのプロットから。rawdataComp

前回みたとおり、sunspotsもsunspot.monthもどちらも太陽黒点数の月次データですが、対象期間が異なります。そこでsunspot.monthデータを赤でプロットした上に、sunspotsを黒でプロットして差のところを明らかにしてみている感じです。rawDataPlot

sunspots.monthの方が3周期(だいたい1周期11年)ちかくお尻が長いのね。

tsp()関数使って、ts(タイム・シリーズ)の諸元を比較してます。ts(もしくは似たオブジェクト)をtsp()関数に渡すと、開始、終了、そして周期(独特の表現です。例えば1年を時間単位として1か月毎のデータであると周期は12)の3個組の数値が返ってきます。tspComp

そのうち、1番目と3番目 c(1,3)、開始と周期をとりだして全部一致を確認しておると。

つづいて短い方のsunspotsの長さにあわせ、両方にレコードがある部分のデータの一致不一致を eq というベクタに格納した上で、結果を集計。tableComp

結構FALSE(つまり、sunspotsとsunspot.monthの差異)がありますな。そこで差のあるところを洗い出して、さきほどのプロットに印をつけようとしているみたいです。rugComp

以下のプロットの黄色の部分が差異のあるところです。左端の方に1点差があるところは黄色のマーカ抜けてます。rugCompPlot

ここまで時系列プロットの時系列での比べ方の練習みたいでした。

古いデータセットの復元?とな

次に記載されていたのは、”Present”なデータセットから古いデータセットを復元するための手順です。個別にデータにパッチあててるみたいです。OldVersion

復元結果が以下に。復元したデータが黄色のマーカのところの sunspot.month.0 です。上のsunspot.monthが”Present”なデータ。復元したのは1998年までのデータみたいですな。OLDVERSIONrecreated

複数の時系列データの重ねあわせの練習に最適?ピンポイントだな?

データのお砂場(80) R言語、sunspots、太陽黒点数の月次データとな へ戻る

データのお砂場(82) R言語、sunspot.year、時系列データの小技あれこれ へ進む