0

Rで時系列の日付として開始と終了を与える方法を誰か教えてください.私はシーケンスを与える方法を知っています.

ts <- ts(temp, start=1, end=10)

ただし、1 ~ 10 ではなく、1 月 1 日から 1 月 10 日までを表示したいと思います。よろしくお願いします。

4

1 に答える 1

1

の基本的な時系列機能tsはおそらく十分ではありません。R で時系列を操作するための利用可能なツールはたくさんありますが、このtsクラスは、

「等間隔の時系列 (数値タイムスタンプを使用)。したがって、年次、月次、四半期ごとのデータなどに特に適しています」

データを正しく記述すると、printコマンドは適切にフォーマットします。データを月ごとに分割したい場合は、次のようにすることができます ( frequency12 分の 1 に注意してください)。

> print(ts(round(rnorm(44)), start = c(2012,3), frequency = 12), calendar = TRUE)
     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2012           2   1  -2  -1   1   1   0  -1   1  -1
2013   1   0   2   1  -1   1  -1  -1   0   2   1   2
2014   2   0  -1   0   1   1   0   0   2  -1   0   0
2015   2   0   0  -1   0   0   0   1   2   0        

毎日の間隔が必要なので、frequency365 に設定する必要があります。

> print(ts(letters, start = c(2013, 1), frequency = 365), calendar = TRUE)
     p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21
2013  a  b  c  d  e  f  g  h  i   j   k   l   m   n   o   p   q   r   s   t   u
     p22 p23 p24 p25 p26
2013   v   w   x   y   z

これはややぎこちないように見えますが、毎日の数値が得られるだけではないという点で問題を解決します。ただし、ドキュメントに記載されているように、tsクラスは「数値タイムスタンプ」のみをサポートしているため、組み込みts機能を使用する場合はおそらくこれが最適です。

より高度な機能が必要な場合は、このドキュメントのいくつかのツールを参照してください。

于 2013-03-15T19:51:18.860 に答える