R 中的时间序列入门

机器算法验证 r 时间序列
2022-03-27 03:40:32

在这个论坛的大力帮助下,我已经能够在 R 中开始并运行一些基本的时间序列分析。现在,我的需求主要是单变量时间序列。

这是我的问题:

我可以将数据库中的每日数据读入数据框。我有两列,日期被 R 理解为 POSIXct,第二列是感兴趣的值和数字。什么是最好、最直接的方法来使它成为一个 ts 对象,其中 R 理解开始/结束日期并动态表示日常观察?在我看来,我不应该被要求(在将我的对象强制为 ts 对象时)手动告诉它数据框已经拥有它的开始日期和结束日期。

在某些情况下,我已经能够从每天到每周汇总其他数据,但是考虑到 R 已经将我的原始数据理解为时间,我发现自己以看起来很长且不必要的方式做事。如您所知,我是 R 和 R 中的时间序列的新手,但我认为由于 R 非常强大,可能有一种非常简单的方法可以解决我的问题。

1个回答

看来您需要包 xts。使用创建您的时间序列

install.packages('xts')
library(xts)
X = xts(coredata(DF[,2]), order.by=DF[,1])

然后,您将能够轻松地操作您的数据。

to.weekly(X)  
to.monthly(X)

请注意,您将操作 xts 对象而不是 ts。不过不用担心,你可以在需要的时候回到 ts。