3

我的目标是获得 1 个情节,其中有多个带有自动图例的时间系列来识别系列。从 1996 年 1 月开始,在我的 CSV 文件中,我有 5 列(农业、食品、燃料、manu、矿石)。

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对象构造不正确。该系列是每月一次,所以频率应该是 12,而不是 1。

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 回答