【问题标题】:In R, how do I convert irregular to regular time series without NA's?在 R 中,如何在没有 NA 的情况下将不规则时间序列转换为规则时间序列?
【发布时间】:2011-11-17 05:29:35
【问题描述】:

我正在处理一个不规则的时间序列,我想将其转换为常规时间序列,但我需要在其他问题中回答通常的“数据丢失”行为,而不是在每个问题上进行观察有规律的间隔是最近的观察,不管它是多久以前的。我已经编写了一个函数来执行此操作,但是有两个循环它非常慢。

作为一个例子,而不是拥有

> x <- zoo(c(1, 3, 6), c(1981, 1984, 1985))
> as.ts(x)
Time Series:
Start = 1981 
End = 1985 
Frequency = 1 
[1]  1 NA NA  3  6

我想要这样的结果:

> as.ts(x)
Time Series:
Start = 1981 
End = 1985 
Frequency = 1 
[1]  1 1 1 3 6    

【问题讨论】:

    标签: r time-series


    【解决方案1】:

    您可以使用 zoo 包中的 na.locf

    y <- as.ts(x)
    y <- na.locf(y)
    y
    # Time Series:
    # Start = 1981 
    # End = 1985 
    # Frequency = 1 
    # [1] 1 1 1 3 6
    

    【讨论】:

      猜你喜欢
      • 2011-04-23
      • 2014-09-02
      • 2017-03-06
      • 2020-09-21
      • 1970-01-01
      • 2011-06-29
      • 2019-08-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多