【问题标题】:Loop to sum observation of a time serie in R循环以总结 R 中时间序列的观察
【发布时间】:2020-11-27 04:11:43
【问题描述】:

我确信这很明显,但我是 R 的初学者,我花了一个下午的大部分时间试图解决这个问题......

我正在尝试创建一个循环,以五步对我的时间序列中的观察进行汇总。

例如:

输入:
1 2 3 4 5 5 6 6 7 4 5 5 4 4 5 6 5 6 4 4

输出: 15 28 23 25

我的时间序列只有一个变量,7825 个观测值。

循环的最终目的是计算每周的实际波动率。我的观察结果是平方收益。一旦我有了我的循环,我就能够提取平方根并获得每周的实际波动率。

非常感谢您提供的任何帮助。

H.

【问题讨论】:

    标签: r loops time-series regression finance


    【解决方案1】:

    我们可以使用gl 创建一个分组变量,并使用它来获取tapply 中的sum

    tapply(input, as.integer(gl(length(input), 5, length(input))), 
              FUN = sum, na.rm = TRUE)
    # 1  2  3  4 
    # 15 28 23 25 
    

    数据

    input <- scan(text = "1 2 3 4 5 5 6 6 7 4 5 5 4 4 5 6 5 6 4 4", what = numeric())
    

    【讨论】:

    • 非常感谢,它运行良好。祝你有美好的一天。
    【解决方案2】:

    这是另一个使用 sapply + split 的基本 R 选项

    > sapply(split(x,ceiling(seq_along(x)/5)),sum)
     1  2  3  4
    15 28 23 25
    

    数据

    x <- c(1, 2, 3, 4, 5, 5, 6, 6, 7, 4, 5, 5, 4, 4, 5, 6, 5, 6, 4, 4)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-26
      • 2013-03-26
      • 2018-05-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多