在R中通过更好的可视化查找模式

在R中通过更好的可视化查找模式,r,visualization,time-series,R,Visualization,Time Series,我有以下时间序列数据。它有60个数据点,如下所示。请看下面这个数据的简单图。我用R来画这个。我认为如果我在图中的点上画一条移动平均曲线,那么我们可以更好地理解数据中的模式。我不知道在R怎么做。有人能帮我吗。此外,我不确定这是否是识别模式的好方法。如果有更好的方法,也请告诉我。多谢各位 x <- c(18,21,18,14,8,14,10,14,14,12,12,14,10,10,12,6,10,8, 14,10,10,6,6,4,6,2,8,6,2,6,4,4,2,8,6,6

我有以下时间序列数据。它有60个数据点,如下所示。请看下面这个数据的简单图。我用R来画这个。我认为如果我在图中的点上画一条移动平均曲线,那么我们可以更好地理解数据中的模式。我不知道在R怎么做。有人能帮我吗。此外,我不确定这是否是识别模式的好方法。如果有更好的方法,也请告诉我。多谢各位

x <- c(18,21,18,14,8,14,10,14,14,12,12,14,10,10,12,6,10,8,
       14,10,10,6,6,4,6,2,8,6,2,6,4,4,2,8,6,6,8,12,8,8,6,6,2,2,4,
       4,4,8,14,8,6,6,2,6,6,4,4,8,6,6)

x要回答你关于
移动平均线的问题,你可以借助
rollmean
软件包
zoo
中的
rollmean
来完成

来自Joshua的评论:
您还可以查看依赖于
xts的
TTR
包,该包依赖于
zoo
。此外,数据包中还有其他移动平均值
TTR
:检查
?MA

require(TTR)
# assuming your vector is loaded in dat
# sliding window / moving average of size 5
dat.k5 <- rollmean(dat, k=5)
require(TTR)
#假设向量加载在dat中
#滑动窗口/5号移动平均线

dat.k5一种合理的可能性:

d <- data.frame(x=scan("tmp.dat"))
qplot(x=seq(nrow(d)),x,data=d)+geom_smooth(method="loess")

d
rollmean
在动物园里。TTR依赖于xts,xts依赖于动物园。TTR确实有许多其他类型的移动平均线,参见
?MA
。关于“这是识别模式的好方法吗”(这对于StackOverflow来说有点离题,但无论如何);我认为滚动平均值是非常值得尊敬的,尽管存在更复杂的方法(如我的答案中所示的局部加权回归[Lesson/lowess])。然而,在我看来,这里似乎没有太多复杂的模式需要检测:数据似乎最初随着时间的推移而下降,然后趋于平稳。滚动方式和更复杂的方法可能看起来更漂亮,但我认为它们不会在这个数据集中识别出任何更深层次的模式…@Ben:谢谢你的想法。我同意你的观点,可能没有太多的模式。但我总共有37个数据集。我发现滚动有助于我识别其中的模式。