自分の持っている時系列データを分析するためにts
クラスで遊んだところです。
ts
クラスは、毎日または毎週のデータを分析するのにはあまり適していないようです。 WebまたはCowpertwaitとMetcalfeの「Rを導入した時系列」で目にするほとんどすべての例は、月次または年次のデータを使用しています。
ts
を使用して週次データを分析したいのですが、お勧めできませんか?
主な問題は、毎日または毎週のデータを分析するほとんどの人が、年間365日または年間52週間の頻度を使用するようなことをしたいが、年間の日数または週数が365または52または絶え間ない。たとえば、日次データの場合はうるう年の1日を落とすか、週次データの場合は8日または9日の週を除いて、年の各週に7日を使用すると、たとえばそれをファッジできます。さまざまなスキームが可能です。
例として this thread に目を通してください。
動物園は毎日のデータでうまく機能します。たとえば、ベクトルQに対応する日付スタンプD(as.Date()を使用して作成されたものなど)が含まれる毎日の一連のストリームフローがある場合。
Q.z <-Zoo(Q、order.by = D)
うまくプロットするオブジェクトを作成し、window()などの関数を使用して1年を抽出できます。
window(Q.z、start = as.Date( '2000-01-01')、end = as.Date( '2000-31-12')
詳細については、Zooパッケージを確認してください。
時間の単位は関係しません。単位あたりのデータポイントの数(頻度)のみが行います。 ts
とその関数が気にかける限り、1日は1年、10年は何であれ。どの時点でも、それが処理する時間は1週間または1日であることを教えてください。関係ない!
毎日/毎週のデータの問題は、両方にうるう単位があることだと思います。 4年ごとに追加の366日があり、4年ごとに53週間あります。または、1900年以降に使用されています。したがって、「頻度」は一定でも分数でもありません。それ以外の場合、tsは正常に動作します。
週の周りの最も簡単な方法は、週の始まりの日付を使用することです。 unixlikeシステムでは、ISOウィークを使用することもでき、それらを実装するパッケージもあります。もちろん、データがすでに数週間である場合、グラフなどにラベルを付けるためにのみ必要です。