R将不常见的日期“事件”添加到时间序列图中

R将不常见的日期“事件”添加到时间序列图中,r,time,time-series,R,Time,Time Series,我刚从R开始,在一些时间序列数据上遇到了一些死锁 我有一个“zoo”格式的时间序列日期和值,我想在事件发生时用一个十字来注释它。这些事件是不规则的,仅以csv格式显示日期,有时会重复 我已经设法将日期等读入R接受的格式中,但我似乎找不到一种方法来绘制主要时间序列图,并在上面标注次要事件 更新: 很抱歉,我之前遗漏了这一点-以下是我正在处理的数据类型: price <- get.hist.quote(instrument = "msft", quote = c("Cl", "Vol"))

我刚从R开始,在一些时间序列数据上遇到了一些死锁

我有一个“zoo”格式的时间序列日期和值,我想在事件发生时用一个十字来注释它。这些事件是不规则的,仅以csv格式显示日期,有时会重复

我已经设法将日期等读入R接受的格式中,但我似乎找不到一种方法来绘制主要时间序列图,并在上面标注次要事件

更新: 很抱歉,我之前遗漏了这一点-以下是我正在处理的数据类型:

price <- get.hist.quote(instrument = "msft", quote = c("Cl", "Vol"))
有些是重复的。 到目前为止,我已经成功地编写了一个python脚本来进行一些清理,例如日期、事件的元组,但我希望我可以使用R


非常感谢

提供数据样本将为您提供更准确的答案,但您有两个常规选项:

使用现有的plot.zoo函数,可以在打印完成后添加注释,例如使用text函数。或者使用ggplot2,您可以采用类似的方法创建绘图并添加注释,尽管它本机不接受zoo对象作为输入

或者,quantmod中的chartSeries具有许多为此目的而设计的功能,并且它接受zoo作为输入

编辑:


关于如何处理您在问题中发布的数据的简短评论。第二组日期应该被转换成一个动物园对象,可能带有某种能指作为数据,比如单词tweet,然后与原始序列合并。因此,在时间序列中,您将有一个额外的列来表示这些不常见的事件。在大多数情况下,此列将不适用。

提供数据样本将为您提供更精确的答案,但您有两个常规选项:

使用现有的plot.zoo函数,可以在打印完成后添加注释,例如使用text函数。或者使用ggplot2,您可以采用类似的方法创建绘图并添加注释,尽管它本机不接受zoo对象作为输入

或者,quantmod中的chartSeries具有许多为此目的而设计的功能,并且它接受zoo作为输入

编辑:


关于如何处理您在问题中发布的数据的简短评论。第二组日期应该被转换成一个动物园对象,可能带有某种能指作为数据,比如单词tweet,然后与原始序列合并。因此,在时间序列中,您将有一个额外的列来表示这些不常见的事件。在大多数情况下,此列将为NA。

创建zoo series、price和dd.zoo,其中dd.zoo是dd.character中每个日期作为zoo对象出现的次数,然后将它们绑定在一起并使用plot.zoo:

library(zoo)
library(tseries)

price <- get.hist.quote(instrument = "msft", quote = c("Cl", "Vol"))

dd.character <- c("February 28, 2010", "February 20, 2010",
    "February 20, 2010", "August 21, 2009")
dd.Date <- as.Date(dd.character, "%B %d, %Y")
dd.zoo <- aggregate(zoo(dd.Date), dd.Date, length)

plot(cbind(price$Close, dd.zoo), type = c("l", "h"), heights = c(3, 1))

创建zoo series、price和dd.zoo,其中dd.zoo是dd.character中每个日期作为zoo对象出现的次数,然后将它们绑定在一起并使用plot.zoo:

library(zoo)
library(tseries)

price <- get.hist.quote(instrument = "msft", quote = c("Cl", "Vol"))

dd.character <- c("February 28, 2010", "February 20, 2010",
    "February 20, 2010", "August 21, 2009")
dd.Date <- as.Date(dd.character, "%B %d, %Y")
dd.zoo <- aggregate(zoo(dd.Date), dd.Date, length)

plot(cbind(price$Close, dd.zoo), type = c("l", "h"), heights = c(3, 1))

很好的观点-更新了问题-plot.zoo还会继续吗?@flyingcrab-太好了!如果你能发布的话,我很想看到最终的输出。唉-没有什么令人兴奋的结果。。。但我会坚持下去:好的观点-更新了问题-plot.zoo还会继续吗?@flyingcrab-太好了!如果你能发布的话,我很想看到最终的输出。唉-没有什么令人兴奋的结果。。。但我会坚持下去:
plot(price$Close)
abline(v = time(dd.zoo))