0

私は、データが月単位であるさまざまなファイルセットを多数使用していますが、それらはすべて異なる月です。過去 2 年間の月次データを含むものもあれば、数か月分の月次データを含むものもあります。

このデータを使用して予測グラフを作成するのが好きです。すべてのデータが一貫していれば、それは簡単です。ただし、データは月単位であり、各ファイルの開始時間と終了時間は異なります。

z 出力:

    Month   Value
1 2010-01-01 100
2 2010-02-01 200
3 2010-03-01 600
4 2010-04-01 400
5 2010-05-01 300
6 2010-06-01 700

開始を s オブジェクトに設定するためにこれを実行しようとしましたが、機能していません

s <- head(z,1)$Month
s <- sub("-", "," s)
t.ser <- ts(z$Value, start=s,freq=12)

私が扱っているデータはすべて変動するため、開始日はわかりません。

これは機能しますが、データセットの開始日がわからないので、開始に変数を入れることはできますか?

t.ser <- ts(z$Value, start=c(2010,1),freq=12)
t.ets <- ets(t.ser) 
t.fc <- forecast(t.ets,h=12)
plot(t.fc, xaxt="n")

実際のデータの日付と予測値の日付を表示するように x 軸をフォーマットしたいと思います。開始日がわからないので、これもできません。データに関係なく、12 か月を予測したいと思います。

これは、開始時間がわかっている場合に機能します。

a = seq(as.Date("2011-01-01"), by="month", length=36)
axis(1, at = decimal_date(a), labels = format(a, "%Y %b %d"), cex.axis=0.6) 

私がこれを行うとき:

 t.ser <- ts(z$Value/1000000, start(z[1,1]),freq=12) 

私は得る

t.ser
  Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1  45  51  56  56  59  60  60  60  64  65  75  73
2  74  80  87  91  92  96 109 108 123 129 133 143
3 127 127 123 121 130        

しかし、私がこれを行うとき:

t.ser <- ts(z$Value/1000000, start=c(2010,1),freq=12) 

私はこれを取り戻します。これは、日付を明示的に入力するのではなく、開始時に変数を使用するときに必要な結果です。どうすればこれを達成できますか?

t.ser
     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2010  45  51  56  56  59  60  60  60  64  65  75  73
2011  74  80  87  91  92  96 109 108 123 129 133 143
2012 127 127 123 121 130             
4

1 に答える 1

1

"mydata.dat"これを試してください(データがファイルからのものである場合は代わりにfile = のようなものを指定text=Linesし、それがデータの形式でない場合は適切に変更してください):

Lines <- "Month   Value
1 2010-01-01 100
2 2010-02-01 200
3 2010-03-01 600
4 2010-04-01 400
5 2010-05-01 300
6 2010-06-01 700"

library(zoo)
z <- read.zoo(text = Lines, header = TRUE, FUN = as.yearmon)
t.ser <- as.ts(z)

これは与える:

> t.ser
     Jan Feb Mar Apr May Jun
2010 100 200 600 400 300 700
于 2012-08-03T15:43:10.810 に答える