3

私の目的は、シリーズを識別するための自動凡例を持つ複数の時系列がある1つのプロットを取得することです。私のCSVファイルには、1996年1月から5つの列(農業、食品、燃料、マヌー、鉱石)があります。

library(xts)
library(xtsExtra)
RuChAgri <- read.csv("https://dl.dropbox.com/u/6421260/Forum/RuChAgri.csv", sep=";")
#transform csv data according to R ts 
RuChAgri <- ts(RuChAgri, start = c(1996, 1), frequency = 1)
#try to get 1 plot with multiple ts with an auto legend
plot.xts(RuChAgri, screens = factor(1, 1), auto.legend = TRUE)

最後の行を実行すると、次のエラーが発生します。

Error in try.xts(x) : 
  Error in xts(x.mat, order.by = order.by, frequency = frequency(x),
 .CLASS = "ts",  :   NROW(x) must match length(order.by)

誰かが私のコードの何が問題なのか知っていますか?

4

1 に答える 1

3

tsオブジェクトが適切に構成されていません。シリーズは毎月なので、頻度は1ではなく12にする必要があります。

RuChAgri <- ts(RuChAgri, start=c(1996, 1), frequency=12)

次に、それをxtsオブジェクトに変換してから、を呼び出しplot.xtsて呼び出す必要がありplotます。plot.xts与えたオブジェクトをxtsオブジェクトに変換しようとしても、直接呼び出すべきではありません...

x <- as.xts(RuChAgri)
plot(x, screens=factor(1, 1), auto.legend=TRUE)

ここに画像の説明を入力してください

于 2013-03-16T13:44:25.453 に答える