在plot.ts中添加点,设置开始,结束和频率

时间:2014-05-18 13:56:15

标签: r plot time-series

我在向plot.ts添加点时遇到问题。如果我在下面的示例中创建ts对象,一切都很好,并且将点添加到绘图中。

data <- ts(rnorm(100))
plot(data)
ind <- c(1,10,67)
points(ind, data[ind], pch = 19, col = 'red')

但是当我以这种方式这样做时(我希望在X轴上有日期,所以我使用开始,结束和频率参数。),点不会出现在情节中:

data <- ts(rnorm(100), start = c(1996,1), end = c(2004,4), frequency = 12)
plot(data)
ind <- c(1,10,67)
points(ind, data[ind], pch = 19, col = 'red')

是否可以选择添加这些点或向第一个示例添加日期?

PS。我几乎可以肯定,我曾经设法通过参考特定日期的时间序列值来增加一点,但现在我无法将它带回来。

2 个答案:

答案 0 :(得分:4)

这对我有用:

data <- ts(rnorm(100), start = c(1996,1), end = c(2004,4), frequency = 12)
plot(data)
ind <- 1996 + c(0,9,66)/12
points(ind, data[c(1,10,67)], pch = 19, col = 'red')

答案 1 :(得分:4)

我宁愿使用zoo包:

data <- as.zoo(data)
plot(data)
ind <- c(1,10,67)
points(data[ind], pch = 19, col = 'red')

这样你就可以使用索引而不必担心日期(在我看来,这就是你想要的)。