如何绘制滞后时间序列?

时间:2015-06-06 07:16:44

标签: r ggplot2

我正在尝试绘制一些用于探索性分析的快速图表,并提出以下问题:

如何在ggplot中绘制滞后时间序列?我想做这样的事情:

 ggplot(data,aes(x=xdata,y=xdata-1)+geom_point()

但是xdata-1xdata中减去1,而不是读取之前的xdata值。

ggplot似乎没有lag.plot等价物,我确实在gglagplot包中找到了一个名为ggfortify的函数,它似乎正是我想要的,但是在最新版本的R(目前为3.2)中不可用。

1 个答案:

答案 0 :(得分:5)

您可以使用tail获取滞后版本的矢量:

tail(x,-1)

但是在ggplot2范围内,美学必须是长度为1或具有相同的长度,因此您应该为滞后的值附加一个值,以便将其与原始向量进行绘制。例如:

x= 1:10
qplot(x=x,y=c(tail(x,-1),0))

另一种选择是使用lag中的stats函数,但这假设您正在处理时间序列对象。