如何绘制滞后时间序列?

qts*_*qts 4 r ggplot2

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

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

 ggplot(data,aes(x=xdata,y=xdata-1)+geom_point()
Run Code Online (Sandbox Code Playgroud)

但是xdata-1减去1 xdata而不是读取先前的xdata值.

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

ags*_*udy 5

您可以使用tail获得滞后版本的向量:

tail(x,-1)
Run Code Online (Sandbox Code Playgroud)

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

x= 1:10
qplot(x=x,y=c(tail(x,-1),0))
Run Code Online (Sandbox Code Playgroud)

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