【问题标题】:Understand frequency parameter while converting xts to ts object in R在将 xts 转换为 R 中的 ts 对象时了解频率参数
【发布时间】:2017-12-17 12:51:09
【问题描述】:

下面的频率是什么意思;当我将 xts 对象转换为 ts 对象并尝试打印 ts 对象时,我得到了以下信息。 我的数据是每小时数据。但我不明白这个低于频率的计算方法。我想确保我的 ts 对象将我的数据视为每小时数据。

Time Series:
Start = 1 
End = 15548401 
Frequency = 0.000277777777777778 (how this is equivalent to hourly frequency?)

所以,我的数据框最初如下所示:

                   y
1484337600  19.22819            
1484341200  19.28906            
1484344800  19.28228            
1484348400  19.21669            
1484352000  19.32759            
1484355600  19.21833            
1484359200  19.20626            
1484362800  19.28737            
1484366400  19.20651            
1484370000  19.18424 

它有时代和价值。纪元时间是此数据框中的 row.names。

现在,我使用 --

转换成 xts 对象
xts_dataframe <- xts(x = dataframe$y,
  order.by = as.POSIXct(as.numeric(row.names(dataframe)), origin="1970-01-01")) 

ts_dataframe <- as.ts(xts_dataframe)

请建议我做错了什么?基本上我想将我的初始数据框转换为 ts() 对象,因为我需要在其上应用 ARIMA。该数据是每小时数据。我真的很难使用它。

【问题讨论】:

  • 能否发布您如何创建xts 对象以及如何将其转换为ts?你所拥有的不是每小时的频率。
  • @ChrisHaug 请检查编辑

标签: r time-series xts zoo


【解决方案1】:

frequency 等价于1/deltat,其中deltat 是连续观察之间采样周期的分数。 ?frequency 给出了 deltat 将是“每月数据的 1/12”的示例。

在每小时数据的情况下,deltat 是 3600,因为一个小时有 3600 秒。由于frequency = 1 / deltat,这意味着frequency = 1 / 3600,或0.0002777778

【讨论】:

    猜你喜欢
    • 2011-10-09
    • 1970-01-01
    • 2016-01-07
    • 2019-01-22
    • 2021-11-12
    • 1970-01-01
    • 2014-05-17
    • 2011-05-21
    • 1970-01-01
    相关资源
    最近更新 更多