我正在尝试绘制一些用于探索性分析的快速图表,并提出以下问题:
如何在ggplot中绘制滞后时间序列?我想做这样的事情:
ggplot(data,aes(x=xdata,y=xdata-1)+geom_point()
但是xdata-1
从xdata
中减去1,而不是读取之前的xdata
值。
ggplot
似乎没有lag.plot
等价物,我确实在gglagplot
包中找到了一个名为ggfortify
的函数,它似乎正是我想要的,但是在最新版本的R(目前为3.2)中不可用。
答案 0 :(得分:5)
您可以使用tail
获取滞后版本的矢量:
tail(x,-1)
但是在ggplot2
范围内,美学必须是长度为1或具有相同的长度,因此您应该为滞后的值附加一个值,以便将其与原始向量进行绘制。例如:
x= 1:10
qplot(x=x,y=c(tail(x,-1),0))
另一种选择是使用lag
中的stats
函数,但这假设您正在处理时间序列对象。